compilation_unit --> package_opt imports type_definitions package_opt --> PACKAGE qualified_name SEMIC --> imports --> IMPORT expr SEMIC imports --> type_definitions --> modifiers class_definition type_definitions --> SEMIC type_definitions --> modifiers --> MODIFIER modifiers --> SYNCHRONIZED modifiers --> brackets_opt --> LBRAC RBRAC brackets_opt --> qualified_name --> IDENT qualified_name_tail qualified_name_tail --> DOT IDENT qualified_name_tail --> qualified_name_list --> qualified_name more_qualified_names more_qualified_names --> COMMA qualified_name_list --> class_definition --> CLASSWORD IDENT extends_clause implements_clause LBRACE fields RBRACE extends_clause --> EXTENDS qualified_name_list --> implements_clause --> IMPLEMENTS qualified_name_list --> throws_clause --> THROWS qualified_name_list --> fields --> field fields --> field --> modifiers field_tail --> SEMIC field_tail --> qualified_name qn_field_tail --> TYPE type_field_tail --> compound_stmt -- static initializer qn_field_tail --> type_field_tail --> routine_tail -- constructor type_field_tail --> brackets_opt IDENT name_field_tail name_field_tail --> var_decs_tail SEMIC --> routine_tail -- non-constructor method routine_tail --> LPAREN params_opt RPAREN brackets_opt throws_clause routine_body_opt routine_body_opt --> compound_stmt --> SEMIC params_opt --> param more_params --> more_params --> COMMA param more_params --> param --> type brackets_opt IDENT brackets_opt var_decs --> IDENT var_decs_tail var_decs_tail --> brackets_opt eq_initializer_opt more_var_decs eq_initializer_opt --> EQUALS initializer --> more_var_decs --> COMMA var_decs --> initializer --> expr --> LBRACE initializer_list_opt RBRACE initializer_list_opt --> initializer more_initializers --> more_initializers --> COMMA initializer more_initializers --> type --> qualified_name --> TYPE compound_stmt --> LBRACE balanced_stuff RBRACE balanced_stuff --> stuff balanced_stuff --> LBRACE balanced_stuff RBRACE balanced_stuff --> 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 --> expr more_exprs more_exprs --> COMMA expr_list --> expr_list_opt --> expr_list --> expr_opt --> expr --> expr --> atom expr_opt atom --> IDENT --> DOT --> TYPE --> LBRAC expr_opt RBRAC --> LITERAL --> OPERATOR --> KWOPERATOR --> EQUALS --> STAR --> QMARK expr COLON --> LPAREN expr_list_opt RPAREN --> ATOMWORD