diff options
author | Brijeshcr | 2017-07-07 18:19:45 +0530 |
---|---|---|
committer | GitHub | 2017-07-07 18:19:45 +0530 |
commit | 5258fe20f21514eca1f7dc4ee384fe63c35c68a1 (patch) | |
tree | c0424024c16aa122a5a38686dfed75a4c4866e95 /2.3-1/macros/ASTManagement/AST2Ccode.sci | |
parent | 8d1da9568248c9a0572da08a7039e75e84d782b0 (diff) | |
parent | a505550d38b2b886c61863a85be67faf02ad604b (diff) | |
download | Scilab2C-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.sci | 19 |
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. --- // -------------------------------------- |