summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjofret2008-06-05 15:35:38 +0000
committerjofret2008-06-05 15:35:38 +0000
commitba22168165998d3beb67b311c8a141e8adc9c2af (patch)
treecf80fa7bda07883fcba22c6e7a0339c39527e0f1
parent66a00c6e6ab1c9b85db35abc59a5afd65b2ee447 (diff)
downloadscilab2c-ba22168165998d3beb67b311c8a141e8adc9c2af.tar.gz
scilab2c-ba22168165998d3beb67b311c8a141e8adc9c2af.tar.bz2
scilab2c-ba22168165998d3beb67b311c8a141e8adc9c2af.zip
Main scilab scripts
-rw-r--r--src/Scilab2C/Scilab2C/LaunchMultiRunSCI2C.sci85
-rw-r--r--src/Scilab2C/Scilab2C/LaunchRunSCI2C.sci43
-rw-r--r--src/Scilab2C/Scilab2C/full_reset.sce16
-rw-r--r--src/Scilab2C/Scilab2C/runsci2c.sci103
-rw-r--r--src/Scilab2C/Scilab2C/runscicode.sci64
5 files changed, 311 insertions, 0 deletions
diff --git a/src/Scilab2C/Scilab2C/LaunchMultiRunSCI2C.sci b/src/Scilab2C/Scilab2C/LaunchMultiRunSCI2C.sci
new file mode 100644
index 00000000..55f74449
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/LaunchMultiRunSCI2C.sci
@@ -0,0 +1,85 @@
+// Before launching this script, please
+// check all the paths below.
+// User should change parameters only in (USER PARAMETERS) sections.
+// cd C:\Nutricato\OpenProjects\FP6_hArtes\WP2_SCI2C\Software\Scilab2C; exec LaunchMultiRunSCI2C.sci
+
+// --- CLEAN WORKSPACE ---
+exec full_reset.sce;
+mode(-1);
+
+// --- GENERAL SETTINGS (USER PARAMETERS) ---
+RunsDirectory = pwd(); // Path of the SCI2CRuns directory
+SCI2CDirectory = 'D:\Nutricato\OpenProjects\FP6_hArtes\WP2_SCI2C\Software\Scilab2C'; // Path of the Scilab2C directory
+
+// --- SPECIFIC SETTINGS (USER PARAMETERS) ---
+FullListSCI2CInputPrmFiles = ...
+ [...
+ fullfile('D:\Nutricato\OpenProjects\FP6_hArtes\WP2_SCI2C\Software\SCI2CTests\RegressionTests\test001_verysimple','SCI2CInputParameters.sce');...
+ fullfile('C:\SCI2CTests\RegressionTests\test002_Symbols','SCI2CInputParameters.sce');...
+ fullfile('C:\SCI2CTests\RegressionTests\test003_fft','SCI2CInputParameters.sce');...
+ fullfile('C:\SCI2CTests\RegressionTests\test004_ScalarProduct','SCI2CInputParameters.sce');...
+ fullfile('C:\SCI2CTests\RegressionTests\test100_recursivefunctions','SCI2CInputParameters.sce');...
+ fullfile('C:\SCI2CTests\RegressionTests\test999_WorkingDir','SCI2CInputParameters.sce');...
+ ];
+WorkingListSCI2CInputPrmFiles = ...
+ [...
+ fullfile('..\SCI2CTests\RegressionTests\test999_WorkingDir','SCI2CInputParameters.sce');...
+ ];
+
+// Select one of the two lists above.
+
+ListSCI2CInputPrmFiles = WorkingListSCI2CInputPrmFiles;
+//ListSCI2CInputPrmFiles = FullListSCI2CInputPrmFiles;
+
+// ================================
+// ================================
+// ================================
+// ================================
+
+// --- LAUNCH MULTIRUNSCI2C ---
+NTranslations = size(ListSCI2CInputPrmFiles,1);
+for cnttransl = 1:NTranslations
+ cd(SCI2CDirectory);
+
+ SCI2CInputPrmFileName = ListSCI2CInputPrmFiles(cnttransl);
+
+ // --- LAUNCH USER SCI CODE TO TEST IT BEFORE TRANSLATING IT!!! ---
+ cd(SCI2CDirectory)
+ getf("runscicode.sci");
+ runscicode(SCI2CInputPrmFileName);
+
+ // --- ASK USER FOR CONTINUATION. ---
+ userchoice = input('Start translation [y/n]?','s');
+ if (userchoice == 'y')
+
+ // --- LAUNCH SCI2C ---
+ cd(SCI2CDirectory)
+ getf("runsci2c.sci");
+ runsci2c(SCI2CInputPrmFileName);
+ cd(SCI2CDirectory)
+ else
+ end
+end
+
+// ----------------------------------------
+// --- Compile and Launch all the code. ---
+// ----------------------------------------
+// This option is available only for regression tests.
+if (1==1)
+ cd(fullfile(SCI2CDirectory,'ToolInitialization'));
+ exec('INIT_SCI2CLoader.sce');
+
+ PrintStepInfo('Generate Script for Regression Tests...Available only for Debug.','','both');
+ C_GenerateLaunchScript('D:\Nutricato\OpenProjects\FP6_hArtes\WP2_SCI2C\Software\SCI2CTests\RegressionTests',ListSCI2CInputPrmFiles);
+end
+
+// ---------------------------------------
+// --- Go back to the start directory. ---
+// ---------------------------------------
+cd (RunsDirectory);
+
+// ------------------------
+// --- Close all files. ---
+// ------------------------
+// --- This must be the last instruction. ---
+mclose('all');
diff --git a/src/Scilab2C/Scilab2C/LaunchRunSCI2C.sci b/src/Scilab2C/Scilab2C/LaunchRunSCI2C.sci
new file mode 100644
index 00000000..974cbb3b
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/LaunchRunSCI2C.sci
@@ -0,0 +1,43 @@
+// Before launching this script, please
+// check all the paths below.
+// User should change parameters only in (USER PARAMETERS) sections.
+// cd C:\SCI2CTests\SCI2CRuns; exec LaunchRunSCI2C.sci
+
+// --- CLEAN WORKSPACE ---
+exec full_reset.sce;
+mode(-1);
+
+// --- GENERAL SETTINGS (USER PARAMETERS) ---
+RunsDirectory = pwd(); // Path of the SCI2CRuns directory
+
+//
+// FIXME : Must be a relative path or user input but neither absolute path.
+//
+SCI2CDirectory = 'D:\NutricatoGAPSVN\PROGETTI_APERTI\POLIBA\hArtes\WP2_SCI2C\Software\Version_alpha\Scilab2C'; // Path of the Scilab2C directory
+
+// --- SPECIFIC SETTINGS (USER PARAMETERS) ---
+//
+// FIXME : Must be a relative path or user input but neither absolute path.
+//
+SCI2CInputPrmFileName = 'D:\NutricatoGAPSVN\PROGETTI_APERTI\POLIBA\hArtes\WP2_SCI2C\Software\Version_alpha\SCI2CTests\test999_WorkingDir\SCI2CInputParameters.sce'; // Path + file name of the input parameters.
+
+// --- LAUNCH USER SCI CODE TO TEST IT BEFORE TRANSLATING IT!!! ---
+cd(SCI2CDirectory)
+getf("runscicode.sci");
+runscicode(SCI2CInputPrmFileName);
+
+// --- ASK USER FOR CONTINUATION. ---
+userchoice = input('Start translation [y/n]?','s');
+if (userchoice == 'y')
+ // --- LAUNCH SCI2C ---
+ cd(SCI2CDirectory)
+ getf("runsci2c.sci");
+ runsci2c(SCI2CInputPrmFileName);
+ cd(SCI2CDirectory)
+end
+
+// --- GO BACK TO THE START DIRECTORY. ---
+cd (RunsDirectory);
+
+// --- CLOSE ALL FILES. ---
+mclose('all');
diff --git a/src/Scilab2C/Scilab2C/full_reset.sce b/src/Scilab2C/Scilab2C/full_reset.sce
new file mode 100644
index 00000000..0c8a935e
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/full_reset.sce
@@ -0,0 +1,16 @@
+// Clear files, variables, figures, screen.
+mode(-1);
+clc;
+
+disp('Starting full reset...')
+//disp('Press enter to continue...');
+//halt;
+
+clc;
+clear
+//mclose('all');
+// Assuming that max 50 figures are currently open
+for counter =1:50
+ close
+end
+lines(0)
diff --git a/src/Scilab2C/Scilab2C/runsci2c.sci b/src/Scilab2C/Scilab2C/runsci2c.sci
new file mode 100644
index 00000000..387e0283
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/runsci2c.sci
@@ -0,0 +1,103 @@
+function runsci2c(SCI2CInputPrmFile)
+// function runsci2c(SCI2CInputPrmFile)
+// -----------------------------------------------------------------
+// === hArtes/PoliBa/GAP SCI2C tool ===
+// === Authors: ===
+// === Raffaele Nutricato ===
+// === raffaele.nutricato@tiscali.it ===
+// === Alberto Morea ===
+//
+// This is the main function of SCI2C.
+//
+// Input data:
+// SCI2CInputPrmFile: path+filename of the input parameters file.
+//
+// Output data:
+// ---
+//
+// Status:
+// 11-Apr-2007 -- Raffaele Nutricato: Author.
+// 11-Apr-2007 -- Alberto Morea: Tests.
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// -------------------
+// --- Soft reset. ---
+// -------------------
+mode(-1);
+clc;
+// -----------------------
+// --- End Soft reset. ---
+// -----------------------
+
+// -------------------------
+// --- Input Parameters. ---
+// -------------------------
+RunSci2CMainDir = pwd();
+// -----------------------------
+// --- End input Parameters. ---
+// -----------------------------
+
+// -------------------------------
+// --- Perform Intializations. ---
+// -------------------------------
+// --- Load SCI2C directories and files. ---
+cd(fullfile(RunSci2CMainDir,'ToolInitialization'));
+exec('INIT_SCI2CLoader.sce');
+cd(RunSci2CMainDir);
+
+// --- Initialize the SCI2C tool directories and files. ---
+[FileInfoDatFile,SharedInfoDatFile] = INIT_SCI2C(SCI2CInputPrmFile);
+
+// --- Load RunMode. ---
+load(SharedInfoDatFile,'SharedInfo');
+RunMode = SharedInfo.RunMode;
+clear ShareInfo
+
+// --- Generation of the library structure. ---
+if (RunMode == 'GenLibraryStructure' | RunMode == 'All')
+ INIT_GenLibraries(FileInfoDatFile);
+end
+
+// --- Load Library Info. ---
+INIT_LoadLibraries(FileInfoDatFile);
+
+// -----------------------------------
+// --- End Perform Intializations. ---
+// -----------------------------------
+
+// ----------------------------------
+// --- Perform SCI2C Translation. ---
+// ----------------------------------
+if (RunMode == 'All' | RunMode == 'Translate')
+ FlagContinueTranslation = 1;
+ while(FlagContinueTranslation == 1)
+ UpdateSCI2CInfo(FileInfoDatFile);
+ AST_GetASTFile(FileInfoDatFile);
+ AST2Ccode(FileInfoDatFile);
+ JoinDeclarAndCcode(FileInfoDatFile);
+ FlagContinueTranslation = ManageNextConversion(FileInfoDatFile);
+ end
+end
+
+// --------------------------
+// --- Generate Makefile. ---
+// --------------------------
+load(FileInfoDatFile,'FileInfo');
+load(SharedInfoDatFile,'SharedInfo');
+C_GenerateMakefile(FileInfo,SharedInfo);
+clear FileInfo
+clear SharedInfo
+
+// -----------------
+// --- Epilogue. ---
+// -----------------
+load(FileInfoDatFile,'FileInfo');
+if (RunMode == 'All' | RunMode == 'Translate')
+ PrintStepInfo('Translation Successfully Completed!!!',FileInfo.GeneralReport,'both');
+elseif (RunMode == 'GenLibraryStructure')
+ PrintStepInfo('Library Structure Successfully Created!!!',FileInfo.GeneralReport,'both');
+end
+clear FileInfo
diff --git a/src/Scilab2C/Scilab2C/runscicode.sci b/src/Scilab2C/Scilab2C/runscicode.sci
new file mode 100644
index 00000000..d91a705e
--- /dev/null
+++ b/src/Scilab2C/Scilab2C/runscicode.sci
@@ -0,0 +1,64 @@
+function runscicode(SCI2CInputPrmFile)
+// function runscicode(SCI2CInputPrmFile)
+// -----------------------------------------------------------------
+// === hArtes/PoliBa/GAP SCI2C tool ===
+// === Authors: ===
+// === Raffaele Nutricato ===
+// === raffaele.nutricato@tiscali.it ===
+// === Alberto Morea ===
+//
+// Run the code written by the user before translating it.
+//
+// Input data:
+// ---
+// Output data:
+// ---
+//
+// Status:
+// 11-Apr-2007 -- Raffaele Nutricato: Author.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// -------------------
+// --- Soft reset. ---
+// -------------------
+mode(-1);
+clc;
+// -----------------------
+// --- End Soft reset. ---
+// -----------------------
+
+// -------------------------
+// --- Input Parameters. ---
+// -------------------------
+RunSci2CMainDir = pwd();
+// -----------------------------
+// --- End input Parameters. ---
+// -----------------------------
+
+cd(fullfile(RunSci2CMainDir,'ToolInitialization'));
+exec('INIT_SCI2CLoader.sce');
+cd(RunSci2CMainDir);
+
+// --- Read user parameters. ---
+exec(SCI2CInputPrmFile);
+
+
+// --- Add all user paths. ---
+for cntpath = 1:size(UserSciFilesPaths,1)
+ getd(UserSciFilesPaths(cntpath));
+end
+
+// --- Execute code. ---
+disp('-----------------------------------');
+disp('--- Executing your SCILAB code. ---');
+disp('-----------------------------------');
+[tmppath,tmpfile,tmpext] = fileparts(UserScilabMainFile);
+cd(tmppath);
+execstr(tmpfile+tmpext);
+cd(RunSci2CMainDir);
+disp('------------------------------------------');
+disp('--- End Execution of your SCILAB code. ---');
+disp('------------------------------------------');