diff options
author | siddhu8990 | 2017-05-22 15:13:54 +0530 |
---|---|---|
committer | siddhu8990 | 2017-05-22 15:13:54 +0530 |
commit | b33afdb2311fbe8aad4c5c614c6098585fe2d279 (patch) | |
tree | 3d8db91388dab60159248fb0cfef160ca03cefeb /macros/ASTManagement | |
parent | f0e074cc43f04f58aafe00742b9748a09f77894f (diff) | |
parent | e36eac94dd517bb69d3e5782516ee58942451991 (diff) | |
download | scilab2c-b33afdb2311fbe8aad4c5c614c6098585fe2d279.tar.gz scilab2c-b33afdb2311fbe8aad4c5c614c6098585fe2d279.tar.bz2 scilab2c-b33afdb2311fbe8aad4c5c614c6098585fe2d279.zip |
Bugs fixed for Scilab 6.0
Diffstat (limited to 'macros/ASTManagement')
-rw-r--r-- | macros/ASTManagement/%ifthenelse_string.sci | 27 | ||||
-rw-r--r-- | macros/ASTManagement/AST_HandleEOL.sci | 8 | ||||
-rw-r--r-- | macros/ASTManagement/_ifthenelse_string.sci | 27 | ||||
-rw-r--r-- | macros/ASTManagement/lib | bin | 1992 -> 4861 bytes | |||
-rw-r--r-- | macros/ASTManagement/names | 2 |
5 files changed, 61 insertions, 3 deletions
diff --git a/macros/ASTManagement/%ifthenelse_string.sci b/macros/ASTManagement/%ifthenelse_string.sci new file mode 100644 index 00000000..ef588c56 --- /dev/null +++ b/macros/ASTManagement/%ifthenelse_string.sci @@ -0,0 +1,27 @@ +function txt=%ifthenelse_string(I) +//overloading function for "ifthenel" type tlist string function +//this is a node of the AST +//fields: +// expression : "expression" type tlist (the if expression) +// then : list of "equal" type tlist and list('EOL') (the +// then instructions list) +// elseifs : a list of tlists +// else : list of "equal" type tlist and list('EOL') (the +// else instructions list) + txt=['If ' + ' Expression:' + ' '+string(I.expression) + ' If Statements' + ' '+objectlist2string(I.then)] + for e=I.elseifs + txt=[txt; + ' Else If Expression' + ' '+string(e.expression) + ' Else If Statements' + ' '+objectlist2string(e.then)] + end + txt=[txt; + ' Else Statements' + ' '+objectlist2string(I.else) + 'EndIf'] +endfunction diff --git a/macros/ASTManagement/AST_HandleEOL.sci b/macros/ASTManagement/AST_HandleEOL.sci index 0f55457e..4b287283 100644 --- a/macros/ASTManagement/AST_HandleEOL.sci +++ b/macros/ASTManagement/AST_HandleEOL.sci @@ -46,15 +46,17 @@ sciline = mgetl(SciFileFid,1); PrintStringInfo(' ',ReportFileName,'file','y','n'); PrintStringInfo('##################'+'################'+'##################'+'##################'+'##################',ReportFileName,'file','y','n'); PrintStringInfo('##################'+'################'+'##################'+'##################'+'##################',ReportFileName,'file','y','n'); -PrintStringInfo('### Scilab code: '+sciline+' ###',ReportFileName,'file','y','n'); +//PrintStringInfo('### Scilab code: '+sciline+' ###',ReportFileName,'file','y','n'); PrintStringInfo('##################'+'################'+'##################'+'##################'+'##################',ReportFileName,'file','y','n'); PrintStringInfo('##################'+'################'+'##################'+'##################'+'##################',ReportFileName,'file','y','n'); // #RNU_RES_E PrintStringInfo(' ',CPass1FileName,'file','y'); // RNU BRUNO modeprintstringinfo MUST BE AN EXTERNAL PARAMETER! -modeprintstringinfo = 'both'; +//modeprintstringinfo = 'both'; if (SharedInfo.CopySciCodeIntoCCode == 1) - modeprintstringinfo = 'both'; + modeprintstringinfo = 'file'; +else + modeprintstringinfo = 'stdout'; end PrintStringInfo(C_IndentBlanks(IndentLevel)+'/*SCI2C: #############'+'############'+'##############'+'###############'+'############',CPass1FileName,modeprintstringinfo,'y','n'); PrintStringInfo(C_IndentBlanks(IndentLevel)+' SCI2C: '+sciline,CPass1FileName,modeprintstringinfo,'y','n'); diff --git a/macros/ASTManagement/_ifthenelse_string.sci b/macros/ASTManagement/_ifthenelse_string.sci new file mode 100644 index 00000000..ef588c56 --- /dev/null +++ b/macros/ASTManagement/_ifthenelse_string.sci @@ -0,0 +1,27 @@ +function txt=%ifthenelse_string(I) +//overloading function for "ifthenel" type tlist string function +//this is a node of the AST +//fields: +// expression : "expression" type tlist (the if expression) +// then : list of "equal" type tlist and list('EOL') (the +// then instructions list) +// elseifs : a list of tlists +// else : list of "equal" type tlist and list('EOL') (the +// else instructions list) + txt=['If ' + ' Expression:' + ' '+string(I.expression) + ' If Statements' + ' '+objectlist2string(I.then)] + for e=I.elseifs + txt=[txt; + ' Else If Expression' + ' '+string(e.expression) + ' Else If Statements' + ' '+objectlist2string(e.then)] + end + txt=[txt; + ' Else Statements' + ' '+objectlist2string(I.else) + 'EndIf'] +endfunction diff --git a/macros/ASTManagement/lib b/macros/ASTManagement/lib Binary files differindex e6a96926..67ea09be 100644 --- a/macros/ASTManagement/lib +++ b/macros/ASTManagement/lib diff --git a/macros/ASTManagement/names b/macros/ASTManagement/names index ba4143a2..a1aafbc1 100644 --- a/macros/ASTManagement/names +++ b/macros/ASTManagement/names @@ -4,6 +4,7 @@ %for_string %funcall_string %ifthenel_string +%ifthenelse_string %operatio_string %operation_string %program_p @@ -48,6 +49,7 @@ _equal_string _for_string _funcall_string _ifthenel_string +_ifthenelse_string _operatio_string _operation_string _program_p |