ifthenelse: if elsif(s?) else(?) endif { ... }
####
ifthenelse: if elsif(s?) else(?) endif {
$return = 'NIL';
for (my $i = 1; $i < @item; $i++)
{
print " iftest: $i '" . $item[$i] . "'\n";
if ($item[$i] ne 'NIL') { # Always true for $item[2].
$return = $item[$i]; # Always an array ref for $item[2].
last; # Always gets here for $item[2].
}
}
...
}
####
expr : if
{
# I doubt this should be in the grammar.
$return = evaluate($main::c_v, $item[1]);
}
if : /if/i expr /then/i expr if_(?)
{ [ if => @item[2, 4, 5] ] }
if_ : elsif { $item[1] }
| else { $item[1] }
elsif : /elsif/i expr /then/i expr if_
{ [ if => @item[2, 4, 5] ] }
else : /else/i expr { $item[2] }