print "Close enough"
print "lower" if 355/113 < pi else "higher"
+ if pi > 3 then print "pi exceeds three"; else print "need more pie"
+ if (pi < 3) { print "not enough pi" } else { print "pi sufficient" }
+ for { i := 0; sum := 0 }
+ then { i = i+1 }
+ while i <= 10:
+ sum = sum + i
+ else:
+ pass
+ print "sum 1..10 is", sum
+
###### output: cond_loop
Success
1 2 4 8 16 32 64
I won't calculate 20 / 9
Close enough
higher
+ pi exceeds three
+ pi sufficient
+ sum 1..10 is 55
## Say Hello
$0->elsepart = $<3;
var_block_close(c, CloseElse);
}$
+ | else OpenScope SimpleStatements NEWLINE ${
+ $0 = new(cond_statement);
+ $0->elsepart = reorder_bilist($<3);
+ var_block_close(c, CloseElse);
+ }$
| else OpenScope CondStatement ${
$0 = new(cond_statement);
$0->elsepart = $<3;
$0.thenpart = $<5;
var_block_close(c, CloseParallel);
}$
+ | if OpenScope Expression OpenScope then Block ${
+ $0.type = Xcond_statement;
+ $0.condpart = $<3;
+ $0.thenpart = $<6;
+ var_block_close(c, CloseParallel);
+ }$
+ | if OpenScope Expression OpenScope then SimpleStatements ; ${
+ $0.type = Xcond_statement;
+ $0.condpart = $<3;
+ $0.thenpart = reorder_bilist($<6);
+ var_block_close(c, CloseParallel);
+ }$
+ | if OpenScope Expression OpenScope then SimpleStatements NEWLINE ${
+ $0.type = Xcond_statement;
+ $0.condpart = $<3;
+ $0.thenpart = reorder_bilist($<6);
+ var_block_close(c, CloseParallel);
+ }$
| if OpenScope Block then OpenScope Block ${
$0.type = Xcond_statement;
$0.condpart = $<3;
print "", list[i],
print
- if 1 == 2: print "yes" else: print "no"
+ if 1 == 2 then print "yes"; else print "no"
bob:fred
bob.name = "Hello"