1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
function runsci2c(UserScilabMainFile, UserSciFilesPaths, SCI2COutputPath, Runmode)
// 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(UserScilabMainFile, ...
UserSciFilesPaths, SCI2COutputPath, RunMode);
// --- 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
endfunction
|