class Main { main() : Int { if a then b else c fi }; main() : Int { if a Then b Else c fi }; main() : Int { if {a<- 1; a<- 1;} Then b Else c fi }; main() : Int { if {a<- 1; a<- 1;} Then b Else c fi }; main() : Int { { a <- if a then b else c fi; if if if a then b else c fi then b else c fi then b else c fi; a (b<- b+1, c, d, if a then b else c); --missing fi in last a (if a then b else c, b<- b+1, c, d, if a then b else c); --missing fi in first and end a (b<- b+1 c, d, if a then b else c fi); --missing , in 1st and 2nd a (b<- b+1, c, d, if a then b else c, a ); --missing fi in middle } }; main() : Int { if a then else c fi }; --missing expr before else main() : Int { if a then b else fi }; --missing expr after else main() : Int { if A then b else c fi }; --wrong expr after if main() : Int { if a then B else c fi }; --wrong expr after then main() : Int { if a then b else c }; -missing fi main() : Int { if a a then b else c fi }; --wrong expr after if main() : Int { if {a a} then b else c }; --wrong expr after if, missing fi main() : Int { if if a then b else c then b else c fi }; --missing fi in nesting };