compilation_unit : {SEMIC, MODIFIER, CLASSWORD, IMPORT, PACKAGE, SYNCHRONIZED, EOF} package_opt : {PACKAGE} imports : {IMPORT} type_definitions : {SEMIC, MODIFIER, CLASSWORD, SYNCHRONIZED} qualified_name : {IDENT} expr : {IDENT, OPERATOR, KWOPERATOR, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD} modifiers : {MODIFIER, SYNCHRONIZED} class_definition : {CLASSWORD} brackets_opt : {LBRAC} qualified_name_tail : {DOT} qualified_name_list : {IDENT} more_qualified_names : {COMMA} extends_clause : {EXTENDS} implements_clause : {IMPLEMENTS} fields : {IDENT, LBRACE, SEMIC, MODIFIER, TYPE, SYNCHRONIZED} throws_clause : {THROWS} field : {IDENT, LBRACE, SEMIC, MODIFIER, TYPE, SYNCHRONIZED} field_tail : {IDENT, LBRACE, TYPE} qn_field_tail : {IDENT, LBRAC, LPAREN} type_field_tail : {IDENT, LBRAC} compound_stmt : {LBRACE} routine_tail : {LPAREN} name_field_tail : {LBRAC, LPAREN, EQUALS, SEMIC, COMMA} var_decs_tail : {LBRAC, EQUALS, COMMA} params_opt : {IDENT, TYPE} routine_body_opt : {LBRACE, SEMIC} param : {IDENT, TYPE} more_params : {COMMA} type : {IDENT, TYPE} var_decs : {IDENT} eq_initializer_opt : {EQUALS} more_var_decs : {COMMA} initializer : {IDENT, OPERATOR, KWOPERATOR, LBRACE, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD} initializer_list_opt : {IDENT, OPERATOR, KWOPERATOR, LBRACE, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD} more_initializers : {COMMA} balanced_stuff : {IDENT, OPERATOR, KWOPERATOR, LBRACE, LBRAC, RBRAC, LPAREN, RPAREN, EQUALS, COLON, QMARK, SEMIC, COMMA, DOT, STAR, MODIFIER, LITERAL, TYPE, ATOMWORD, CLASSWORD, BREAK, CASE, CATCH, CONTINUE, DEFAULT, DO, ELSE, FINALLY, FOR, GOTO, IF, RETURN, SWITCH, SYNCHRONIZED, THROW, TRY, WHILE} stuff : {IDENT, OPERATOR, KWOPERATOR, LBRAC, RBRAC, LPAREN, RPAREN, EQUALS, COLON, QMARK, SEMIC, COMMA, DOT, STAR, MODIFIER, LITERAL, TYPE, ATOMWORD, CLASSWORD, BREAK, CASE, CATCH, CONTINUE, DEFAULT, DO, ELSE, FINALLY, FOR, GOTO, IF, RETURN, SWITCH, SYNCHRONIZED, THROW, TRY, WHILE} expr_list : {IDENT, OPERATOR, KWOPERATOR, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD} more_exprs : {COMMA} expr_list_opt : {IDENT, OPERATOR, KWOPERATOR, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD} expr_opt : {IDENT, OPERATOR, KWOPERATOR, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD} atom : {IDENT, OPERATOR, KWOPERATOR, LBRAC, LPAREN, EQUALS, QMARK, DOT, STAR, LITERAL, TYPE, ATOMWORD}