summaryrefslogtreecommitdiff
path: root/2.3-1/macros/ASTManagement/_ifthenel_string.sci
diff options
context:
space:
mode:
Diffstat (limited to '2.3-1/macros/ASTManagement/_ifthenel_string.sci')
-rw-r--r--2.3-1/macros/ASTManagement/_ifthenel_string.sci27
1 files changed, 27 insertions, 0 deletions
diff --git a/2.3-1/macros/ASTManagement/_ifthenel_string.sci b/2.3-1/macros/ASTManagement/_ifthenel_string.sci
new file mode 100644
index 00000000..6787a87c
--- /dev/null
+++ b/2.3-1/macros/ASTManagement/_ifthenel_string.sci
@@ -0,0 +1,27 @@
+function txt=%ifthenel_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