# simplified python grammar suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT stmt: simple_stmt | compound_stmt simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE small_stmt: (expr_stmt | print_stmt | pass_stmt) compound_stmt: if_stmt | while_stmt if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite] while_stmt: 'while' test ':' suite ['else' ':' suite] print_stmt: 'print' [ test (',' test)* [','] ] pass_stmt: 'pass' expr_stmt: testlist ('=' testlist)* testlist: test (',' test)* [','] test: and_test ('or' and_test)* and_test: not_test ('and' not_test)* not_test: 'not' not_test | comparison comparison: expr (comp_op expr)* comp_op: COMP_OP |'in'|('not' 'in')|'is'|('is' 'not') expr: term (('+'|'-') term)* term: atom (('*'|'/'|'%'|'//') atom)* atom: NAME | NUMBER | STRING+