summaryrefslogtreecommitdiff
path: root/2.3-1/macros/ASTManagement/AST2Ccode.sci
diff options
context:
space:
mode:
authorBrijeshcr2017-07-07 18:19:45 +0530
committerGitHub2017-07-07 18:19:45 +0530
commit5258fe20f21514eca1f7dc4ee384fe63c35c68a1 (patch)
treec0424024c16aa122a5a38686dfed75a4c4866e95 /2.3-1/macros/ASTManagement/AST2Ccode.sci
parent8d1da9568248c9a0572da08a7039e75e84d782b0 (diff)
parenta505550d38b2b886c61863a85be67faf02ad604b (diff)
downloadScilab2C-5258fe20f21514eca1f7dc4ee384fe63c35c68a1.tar.gz
Scilab2C-5258fe20f21514eca1f7dc4ee384fe63c35c68a1.tar.bz2
Scilab2C-5258fe20f21514eca1f7dc4ee384fe63c35c68a1.zip
Merge pull request #12 from yash1112/master
SCi2cDeps updated, Windows compatibility resolved
Diffstat (limited to '2.3-1/macros/ASTManagement/AST2Ccode.sci')
-rw-r--r--2.3-1/macros/ASTManagement/AST2Ccode.sci19
1 files changed, 19 insertions, 0 deletions
diff --git a/2.3-1/macros/ASTManagement/AST2Ccode.sci b/2.3-1/macros/ASTManagement/AST2Ccode.sci
index 516291a8..136c5a18 100644
--- a/2.3-1/macros/ASTManagement/AST2Ccode.sci
+++ b/2.3-1/macros/ASTManagement/AST2Ccode.sci
@@ -44,6 +44,9 @@ nxtscifunname = SharedInfo.NextSCIFunName;
nxtscifunnumber = SharedInfo.NextSCIFunNumber;
ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+SharedInfo.Function_list = [];
+SharedInfo.Function_list_index = 1;
+
// ---------------------------------
// --- Parameter Initialization. ---
// ---------------------------------
@@ -162,6 +165,7 @@ while ~meof(fidAST)
//NUT: per fare in modo di coprire le ins, anche se ci puo' essere qualche rischio quando
//NUT: ho miste ins e variabili, per esempio [c(1,1), a] = twooutfun();
//NUT: in questo caso solo una delle due equal va scartata.
+
if rc_count > 0 & cc_count == 0
[FileInfo,SharedInfo] = AST_HandleFunRC(FName,FileInfo,SharedInfo);
rc_count = 0;
@@ -182,6 +186,7 @@ while ~meof(fidAST)
SharedInfo.Equal.Enabled = 1; // 1 means enabled -> we are inside an equal AST block.
AST_PushASTStack(treeline);
case 'Lhs :' then
+
if rc_count > 0 & cc_count == 0
SharedInfo.Equal.Lhs = 1;
[EqualInArgName,EqualInArgScope,EqualNInArg] = AST_HandleRC(FileInfo,SharedInfo);
@@ -249,6 +254,7 @@ while ~meof(fidAST)
// -----------------
case 'EndProgram'
SharedInfo = AST_HandleEndProgram(FileInfo,SharedInfo);
+
disp_isthere = 0;
//NUT: per essere precisi si puo' pensare di mettere un check
//NUT: alla fine dell'albero per accertarsi che c'e' end program li' dove ce lo aspettiamo
@@ -299,6 +305,19 @@ while ~meof(fidAST)
AST_PushASTStack(treeline);
end
end
+// ------------------------------------
+// -----List of functions Used--------
+// -------------------------------------
+
+SharedInfo.Function_list_index = SharedInfo.Function_list_index - 2;
+SharedInfo.Function_list = SharedInfo.Function_list(1:SharedInfo.Function_list_index);
+//To remove function repeatedly used----------
+x = size(unique(SharedInfo.Function_list));
+SharedInfo.Function_list_index = x(1);
+SharedInfo.Function_list = unique(SharedInfo.Function_list);
+
+SharedInfo.Function_list = SharedInfo.Function_list(1:SharedInfo.Function_list_index);
+
// --------------------------------------
// --- End main loop to read the AST. ---
// --------------------------------------