summaryrefslogtreecommitdiff
path: root/2.3-1/macros/ASTManagement/_ifthenelse_string.sci
blob: ef588c56b4e43b952b880a998a38848c9dc532b7 (plain)
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
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