empty_stmt ::= ";"
expr_stmt ::= expression ";"
assign_stmt ::= ident "=" (ident "=")* expression ";"
return_stmt ::= "return" [expression] ["if" expression] ";"
if_stmt ::= "if" expression statement [ "else" statement ]
while_stmt ::= "while" expression statement
break_stmt ::= "break" [if expression] ";"
continue_stmt ::= "continue" [if expression] ";"
throw_stmt ::= "throw" [ expression ] ;
try_stmt ::= try_stmt1 | try_stmt2 try_stmt1 ::= "try" statement ("except" [ident ":" type] statement)+ ["else" statement] ["finally" statement] try_stmt2 ::= "try" statement "finally" statement