TypeDeclarationList                 	 <-- TypeDeclaration TypeDeclarationList 
TypeDeclarationList                 	 <-- TypeDeclaration 
InterfaceBody                       	 <-- '{' InterfaceBodyDeclarationList '}' 
InterfaceBody                       	 <-- '{' '}' 
PrimaryExpression                   	 <-- FieldAccess 
PrimaryExpression                   	 <-- ClassInstanceCreationExpression 
PrimaryExpression                   	 <-- Literal 
PrimaryExpression                   	 <-- MethodInvocation 
PrimaryExpression                   	 <-- ArrayCreationExpression 
PrimaryExpression                   	 <-- ParExpression 
PrimaryExpression                   	 <-- ArrayAccess 
TypeArgumentsOrDiamond              	 <-- 'ε' 
TypeArgumentsOrDiamond              	 <-- '<>' 
TypeArgumentsOrDiamond              	 <-- TypeArguments 
ArrayCreationExpression             	 <-- ArrayInitializer 
ArrayCreationExpression             	 <-- 'new' PrimitiveType DimExpressionList Dims 
ArrayCreationExpression             	 <-- 'new' IdentifierList DimExpressionList Dims 
ArrayCreationExpression             	 <-- 'new' PrimitiveType Dims ArrayInitializer 
ArrayCreationExpression             	 <-- 'new' IdentifierList Dims ArrayInitializer 
EnumBody                            	 <-- '{' '}' 
EnumBody                            	 <-- '{' EnumConstantList '}' 
EnumBody                            	 <-- '{' EnumConstantList ';' EnumBodyDeclarations '}' 
EnumBody                            	 <-- '{' EnumConstantList ';' '}' 
TypeArguments                       	 <-- '<' TypeArgumentList '>' 
InterfaceBodyDeclarationList        	 <-- InterfaceBodyDeclaration 
InterfaceBodyDeclarationList        	 <-- InterfaceBodyDeclaration InterfaceBodyDeclarationList 
String                              	 <-- 'string' 
SynchronizedStatement               	 <-- 'synchronized' ParExpression Block 
IdentifierList                      	 <-- Identifier 
IdentifierList                      	 <-- Identifier '.' IdentifierList 
Assignment                          	 <-- IdentifierList AssignmentOperator AssignmentExpression 
Assignment                          	 <-- ArrayAccess AssignmentOperator AssignmentExpression 
IfStatement                         	 <-- 'if' ParExpression Statement 
IfStatement                         	 <-- 'if' ParExpression Statement 'else' Statement 
ArrayAccess                         	 <-- PrimaryExpression DimExpressionList 
ArrayAccess                         	 <-- IdentifierList DimExpressionList 
ArrayAccess                         	 <-- PrimaryExpression DimExpressionList '.' PrimaryExpression 
ArrayAccess                         	 <-- IdentifierList DimExpressionList '.' PrimaryExpression 
AndExpression                       	 <-- AndExpression '&' AndOperand 
AndExpression                       	 <-- AndOperand 
AndExpression                       	 <-- AndExpression '&&' AndOperand 
TryStatement                        	 <-- 'try' Block CatchList Finally 
TryStatement                        	 <-- 'try' Block CatchList 
TryStatement                        	 <-- 'try' Block Finally 
OrOperand                           	 <-- AndExpression 
ClassBodyDeclarationList            	 <-- ClassBodyDeclaration ClassBodyDeclarationList 
ClassBodyDeclarationList            	 <-- ClassBodyDeclaration 
EnumConstantList                    	 <-- EnumConstant ',' EnumConstantList 
EnumConstantList                    	 <-- EnumConstant 
ConstructorBody                     	 <-- Block 
ReturnStatement                     	 <-- 'return' ';' 
ReturnStatement                     	 <-- 'return' Expression ';' 
SwitchBlockStatement                	 <-- SwitchLabel BlockStatementList 
SwitchBlockStatement                	 <-- SwitchLabel 
PrimitiveType                       	 <-- 'boolean' 
PrimitiveType                       	 <-- 'char' 
PrimitiveType                       	 <-- 'short' 
PrimitiveType                       	 <-- 'float' 
PrimitiveType                       	 <-- 'int' 
PrimitiveType                       	 <-- 'double' 
PrimitiveType                       	 <-- 'long' 
PrimitiveType                       	 <-- 'byte' 
Boolean                             	 <-- 'false' 
Boolean                             	 <-- 'true' 
MultiplicativeExpression            	 <-- MultiplicativeExpression '/' Factor 
MultiplicativeExpression            	 <-- Factor 
MultiplicativeExpression            	 <-- MultiplicativeExpression '*' Factor 
MultiplicativeExpression            	 <-- MultiplicativeExpression '%' Factor 
PackageDeclaration                  	 <-- Annotation PackageDeclaration 
PackageDeclaration                  	 <-- 'package' IdentifierList ';' 
ParExpression                       	 <-- '(' Expression ')' '.' PrimaryExpression 
ParExpression                       	 <-- '(' Expression ')' 
CompilationUnit                     	 <-- PackageDeclaration TypeDeclarationList 
CompilationUnit                     	 <-- PackageDeclaration ImportDeclarationList TypeDeclarationList 
CompilationUnit                     	 <-- TypeDeclarationList 
CompilationUnit                     	 <-- ImportDeclarationList TypeDeclarationList 
SwitchBlock                         	 <-- '{' SwitchBlockStatementList '}' 
SwitchBlock                         	 <-- '{' '}' 
RelationalExpression                	 <-- RelationalExpression '>=' RelOperand 
RelationalExpression                	 <-- RelationalExpression '<' RelOperand 
RelationalExpression                	 <-- RelationalExpression '<=' RelOperand 
RelationalExpression                	 <-- RelOperand 
RelationalExpression                	 <-- RelationalExpression 'instanceof' IdentifierList 
RelationalExpression                	 <-- RelationalExpression '>' RelOperand 
AdditiveExpression                  	 <-- AdditiveExpression '-' Term 
AdditiveExpression                  	 <-- Term 
AdditiveExpression                  	 <-- AdditiveExpression '+' Term 
AnnotationTypeElementDeclaration    	 <-- Modifiers Type Identifier '(' ')' DefaultValue ';' 
AnnotationTypeElementDeclaration    	 <-- Type Identifier '(' ')' DefaultValue ';' 
AnnotationTypeElementDeclaration    	 <-- Modifiers Type VariableDeclaratorList ';' 
AnnotationTypeElementDeclaration    	 <-- Type VariableDeclaratorList ';' 
AnnotationTypeElementDeclaration    	 <-- ';' 
Arguments                           	 <-- '(' ArgumentList ')' 
CatchType                           	 <-- IdentifierList 
CatchType                           	 <-- IdentifierList '|' CatchType 
CatchClause                         	 <-- 'catch' '(' CatchFormalParameter ')' Block 
Dims                                	 <-- '[' ']' 
Dims                                	 <-- 'ε' 
Dims                                	 <-- '[' ']' Dims 
Throws                              	 <-- 'throws' ExceptionTypeList 
TypeParameters                      	 <-- '<' TypeParameterList '>' 
EnumConstant                        	 <-- Identifier 
EnumConstant                        	 <-- Identifier Arguments 
ClassMemberDeclaration              	 <-- TypeParameters 'void' Identifier '(' FormalParameterList ')' AbstractMethodRest 
ClassMemberDeclaration              	 <-- 'void' Identifier '(' FormalParameterList ')' AbstractMethodRest 
ClassMemberDeclaration              	 <-- Modifiers ClassDeclaration 
ClassMemberDeclaration              	 <-- Modifiers Type Identifier '(' FormalParameterList ')' AbstractMethodRest 
ClassMemberDeclaration              	 <-- Type VariableDeclaratorList ';' 
ClassMemberDeclaration              	 <-- Modifiers Type VariableDeclaratorList ';' 
ClassMemberDeclaration              	 <-- 'void' Identifier '(' FormalParameterList ')' MethodRest 
ClassMemberDeclaration              	 <-- TypeParameters Type Identifier '(' FormalParameterList ')' MethodRest 
ClassMemberDeclaration              	 <-- Identifier '(' FormalParameterList ')' ConstructorRest 
ClassMemberDeclaration              	 <-- Modifiers Type Identifier '(' FormalParameterList ')' MethodRest 
ClassMemberDeclaration              	 <-- Modifiers 'void' Identifier '(' FormalParameterList ')' MethodRest 
ClassMemberDeclaration              	 <-- TypeParameters Identifier '(' FormalParameterList ')' ConstructorRest 
ClassMemberDeclaration              	 <-- Type Identifier '(' FormalParameterList ')' MethodRest 
ClassMemberDeclaration              	 <-- Modifiers Identifier '(' FormalParameterList ')' ConstructorRest 
ClassMemberDeclaration              	 <-- Modifiers 'void' Identifier '(' FormalParameterList ')' AbstractMethodRest 
ClassMemberDeclaration              	 <-- Modifiers InterfaceDeclaration 
ClassMemberDeclaration              	 <-- TypeParameters Type Identifier '(' FormalParameterList ')' AbstractMethodRest 
ClassMemberDeclaration              	 <-- Type Identifier '(' FormalParameterList ')' AbstractMethodRest 
ClassMemberDeclaration              	 <-- Modifiers TypeParameters Type Identifier '(' FormalParameterList ')' MethodRest 
ClassMemberDeclaration              	 <-- InterfaceDeclaration 
ClassMemberDeclaration              	 <-- ClassDeclaration 
ClassMemberDeclaration              	 <-- TypeParameters 'void' Identifier '(' FormalParameterList ')' MethodRest 
DoWhileStatement                    	 <-- 'do' Statement 'while' ParExpression ';' 
ElementValues                       	 <-- ElementValue 
ElementValues                       	 <-- ElementValuePairList 
Finally                             	 <-- 'finally' Block 
SwitchLabel                         	 <-- 'default' ':' 
SwitchLabel                         	 <-- 'case' ConstantExpression ':' 
ConstructorRest                     	 <-- ConstructorBody 
ConstructorRest                     	 <-- Throws ConstructorBody 
BlockStatement                      	 <-- Statement 
BlockStatement                      	 <-- LocalVariableDeclarationStatement 
WhileStatement                      	 <-- 'while' ParExpression Statement 
AbstractMethodRest                  	 <-- Throws AbstractMethodBody 
AbstractMethodRest                  	 <-- AbstractMethodBody 
DefaultValue                        	 <-- 'ε' 
DefaultValue                        	 <-- 'default' ElementValue 
FormalParameterList                 	 <-- FormalParameter 
FormalParameterList                 	 <-- 'ε' 
FormalParameterList                 	 <-- FormalParameter ',' FormalParameterList 
ContinueStatement                   	 <-- 'continue' Identifier ';' 
ContinueStatement                   	 <-- 'continue' ';' 
AnnotationTypeBody                  	 <-- '{' '}' 
AnnotationTypeBody                  	 <-- '{' AnnotationTypeElementDeclarationList '}' 
ImportDeclarationList               	 <-- ImportDeclaration ImportDeclarationList 
ImportDeclarationList               	 <-- ImportDeclaration 
RelOperand                          	 <-- AdditiveExpression 
ElementValueArrayInitializer        	 <-- '{' ElementValueList '}' 
Statement                           	 <-- ContinueStatement 
Statement                           	 <-- 'assert' Expression ';' 
Statement                           	 <-- TryStatement 
Statement                           	 <-- ';' 
Statement                           	 <-- DoWhileStatement 
Statement                           	 <-- 'for' '(' ForInit ';' CheckExpr ';' ForUpdate ')' Statement 
Statement                           	 <-- 'for' '(' Modifiers Type Identifier ':' Expression ')' Statement 
Statement                           	 <-- IfStatement 
Statement                           	 <-- SynchronizedStatement 
Statement                           	 <-- WhileStatement 
Statement                           	 <-- 'for' '(' Type Identifier ':' Expression ')' Statement 
Statement                           	 <-- Block 
Statement                           	 <-- ReturnStatement 
Statement                           	 <-- 'add' 'action' ';' 
Statement                           	 <-- 'assert' Expression ':' Expression ';' 
Statement                           	 <-- Expression ';' 
Statement                           	 <-- BreakStatement 
Statement                           	 <-- 'throw' Expression ';' 
Statement                           	 <-- SwitchStatement 
FloatingPoint                       	 <-- 'float' 
InterfaceIdentifier                 	 <-- Identifier 
InterfaceIdentifier                 	 <-- Identifier TypeParameters 
AnnotationTypeDeclaration           	 <-- Modifiers '@' 'interface' Identifier AnnotationTypeBody 
AnnotationTypeDeclaration           	 <-- '@' 'interface' Identifier AnnotationTypeBody 
AssignmentOperator                  	 <-- '-=' 
AssignmentOperator                  	 <-- '|=' 
AssignmentOperator                  	 <-- '&=' 
AssignmentOperator                  	 <-- '+=' 
AssignmentOperator                  	 <-- '=' 
AssignmentOperator                  	 <-- '%=' 
AssignmentOperator                  	 <-- '*=' 
AssignmentOperator                  	 <-- '/=' 
AssignmentOperator                  	 <-- '^=' 
Annotation                          	 <-- '@' IdentifierList '(' ElementValues ')' 
Annotation                          	 <-- '@' IdentifierList '(' ')' 
Annotation                          	 <-- '@' IdentifierList 
BreakStatement                      	 <-- 'break' ';' 
BreakStatement                      	 <-- 'break' Identifier ';' 
ModifierList                        	 <-- Modifier 
ModifierList                        	 <-- Modifier ModifierList 
Type                                	 <-- IdentifierList Dims 
Type                                	 <-- IdentifierList TypeArguments 
Type                                	 <-- PrimitiveType Dims 
Type                                	 <-- IdentifierList TypeArguments Dims 
Type                                	 <-- IdentifierList 
Type                                	 <-- PrimitiveType 
Expression                          	 <-- AssignmentExpression 
AbstractMethodBody                  	 <-- ';' 
TypeArgumentList                    	 <-- ActualTypeArgument 
TypeArgumentList                    	 <-- ActualTypeArgument ',' TypeArgumentList 
ImportDeclaration                   	 <-- 'import' IdentifierList ';' 
ImportDeclaration                   	 <-- 'import' IdentifierList '.*' ';' 
ImportDeclaration                   	 <-- 'import' 'static' IdentifierList '.*' ';' 
ImportDeclaration                   	 <-- 'import' 'static' IdentifierList ';' 
TypeDeclaration                     	 <-- Modifiers ClassDeclaration 
TypeDeclaration                     	 <-- ClassDeclaration 
TypeDeclaration                     	 <-- InterfaceDeclaration 
TypeDeclaration                     	 <-- Modifiers InterfaceDeclaration 
TypeDeclaration                     	 <-- AnnotationTypeDeclaration 
Modifiers                           	 <-- ModifierList 
Modifiers                           	 <-- AnnotationList ModifierList 
Modifiers                           	 <-- AnnotationList 
StructuralModifier                  	 <-- 'static' 
StructuralModifier                  	 <-- 'final' 
StructuralModifier                  	 <-- 'native' 
StructuralModifier                  	 <-- 'abstract' 
CatchList                           	 <-- CatchClause 
CatchList                           	 <-- CatchClause CatchList 
Null                                	 <-- 'null' 
TypeParameter                       	 <-- Identifier 'extends' IdentifierList BoundList 
TypeParameter                       	 <-- Identifier 
TypeParameter                       	 <-- Identifier 'extends' IdentifierList 
TypeParameterList                   	 <-- TypeParameter ',' TypeParameterList 
TypeParameterList                   	 <-- TypeParameter 
ConstantExpression                  	 <-- Expression 
VariableInitializerList             	 <-- Expression 
VariableInitializerList             	 <-- 'ε' 
VariableInitializerList             	 <-- Expression ',' VariableInitializerList 
Bound                               	 <-- '&' IdentifierList 
InterfaceDeclaration                	 <-- 'interface' InterfaceIdentifier InterfaceRest 
MethodInvocation                    	 <-- PrimaryExpression '.' TypeArguments Identifier '(' ArgumentList ')' 
MethodInvocation                    	 <-- IdentifierList '.' TypeArguments Identifier '(' ArgumentList ')' 
MethodInvocation                    	 <-- IdentifierList '(' ArgumentList ')' '.' PrimaryExpression 
MethodInvocation                    	 <-- IdentifierList '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- PrimaryExpression '.' 'new' TypeArguments IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- 'new' IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- PrimaryExpression '.' 'new' TypeArguments IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' ClassBody 
ClassInstanceCreationExpression     	 <-- PrimaryExpression '.' 'new' IdentifierList '(' ArgumentList ')' ClassBody 
ClassInstanceCreationExpression     	 <-- 'new' IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' ClassBody 
ClassInstanceCreationExpression     	 <-- 'new' IdentifierList '(' ArgumentList ')' ClassBody 
ClassInstanceCreationExpression     	 <-- 'new' TypeArguments IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' ClassBody 
ClassInstanceCreationExpression     	 <-- PrimaryExpression '.' 'new' IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- 'new' IdentifierList '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- 'new' TypeArguments IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- PrimaryExpression '.' 'new' IdentifierList '(' ArgumentList ')' 
ClassInstanceCreationExpression     	 <-- 'new' IdentifierList '(' ArgumentList ')' '.' PrimaryExpression 
ClassInstanceCreationExpression     	 <-- PrimaryExpression '.' 'new' IdentifierList TypeArgumentsOrDiamond '(' ArgumentList ')' ClassBody 
AnnotationTypeElementDeclarationList	 <-- AnnotationTypeElementDeclaration 
AnnotationTypeElementDeclarationList	 <-- AnnotationTypeElementDeclaration AnnotationTypeElementDeclarationList 
OrExpression                        	 <-- OrOperand 
OrExpression                        	 <-- OrExpression '||' OrOperand 
OrExpression                        	 <-- OrExpression '|' OrOperand 
VariableDeclarator                  	 <-- Identifier '=' Expression 
VariableDeclarator                  	 <-- Identifier 
VariableDeclarator                  	 <-- Identifier '[' ']' Dims 
VariableDeclarator                  	 <-- Identifier '[' ']' Dims '=' Expression 
ClassRest                           	 <-- ClassBody 
ClassRest                           	 <-- Super ClassBody 
ClassRest                           	 <-- Super ImplementsInterfaces ClassBody 
ClassRest                           	 <-- ImplementsInterfaces ClassBody 
InterfaceBodyDeclaration            	 <-- InterfaceMemberDeclaration 
InterfaceBodyDeclaration            	 <-- ';' 
SwitchStatement                     	 <-- 'switch' ParExpression SwitchBlock 
Super                               	 <-- 'extends' IdentifierList TypeArguments 
Super                               	 <-- 'extends' IdentifierList 
Identifier                          	 <-- 'this' 
Identifier                          	 <-- 'identifier' 
Identifier                          	 <-- 'super' 
Identifier                          	 <-- 'void.class' 
Identifier                          	 <-- PrimitiveType 
Identifier                          	 <-- 'class' 
StatementExpressionList             	 <-- StatementExpression ',' StatementExpressionList 
StatementExpressionList             	 <-- StatementExpression 
ExplicitConstructorInvocation       	 <-- TypeArguments 'super' '(' ArgumentList ')' ';' 
ExplicitConstructorInvocation       	 <-- PrimaryExpression '.' TypeArguments 'super' '(' ArgumentList ')' ';' 
ExplicitConstructorInvocation       	 <-- TypeArguments 'this' '(' ArgumentList ')' ';' 
ForUpdate                           	 <-- 'ε' 
ForUpdate                           	 <-- ExpressionList 
Factor                              	 <-- UnaryExpression 
Literal                             	 <-- Integer 
Literal                             	 <-- Character 
Literal                             	 <-- FloatingPoint 
Literal                             	 <-- Null 
Literal                             	 <-- Boolean 
Literal                             	 <-- String 
EqOperand                           	 <-- RelationalExpression 
EqualityExpression                  	 <-- EqualityExpression '==' EqOperand 
EqualityExpression                  	 <-- EqOperand 
EqualityExpression                  	 <-- EqualityExpression '!=' EqOperand 
ForInit                             	 <-- LocalVariableDeclaration 
ForInit                             	 <-- 'ε' 
ForInit                             	 <-- ExpressionList 
Program                             	 <-- BlockStatementList 
PreDecrementExpression              	 <-- '--' UnaryExpression 
Character                           	 <-- 'char' 
ClassIdentifier                     	 <-- Identifier TypeParameters 
ClassIdentifier                     	 <-- Identifier 
ConditionalExpression               	 <-- OrExpression '?' Expression ':' ConditionalExpression 
ConditionalExpression               	 <-- OrExpression 
Term                                	 <-- MultiplicativeExpression 
ElementValueList                    	 <-- ElementValue 
ElementValueList                    	 <-- ElementValue ',' ElementValueList 
ArgumentList                        	 <-- ArgumentList ',' Expression 
ArgumentList                        	 <-- 'ε' 
ArgumentList                        	 <-- Expression 
BlockStatementList                  	 <-- BlockStatement BlockStatementList 
BlockStatementList                  	 <-- BlockStatement 
BehavioralModifier                  	 <-- 'transient' 
BehavioralModifier                  	 <-- 'volatile' 
BehavioralModifier                  	 <-- 'strictfp' 
BehavioralModifier                  	 <-- 'synchronized' 
WildcardBounds                      	 <-- 'extends' IdentifierList 
WildcardBounds                      	 <-- 'super' IdentifierList 
ExceptionTypeList                   	 <-- IdentifierList 
ExceptionTypeList                   	 <-- IdentifierList ',' ExceptionTypeList 
AccessModifier                      	 <-- 'public' 
AccessModifier                      	 <-- 'private' 
AccessModifier                      	 <-- 'protected' 
Block                               	 <-- '{' '}' 
Block                               	 <-- '{' BlockStatementList '}' 
PostfixExpression                   	 <-- IdentifierList DimExpressionList '++' 
PostfixExpression                   	 <-- IdentifierList DimExpressionList '--' 
PostfixExpression                   	 <-- IdentifierList '++' 
PostfixExpression                   	 <-- IdentifierList '--' 
PostfixExpression                   	 <-- PrimaryExpression 
ClassBodyDeclaration                	 <-- ClassMemberDeclaration 
ClassBodyDeclaration                	 <-- ';' 
ClassBodyDeclaration                	 <-- 'static' Block 
ClassBodyDeclaration                	 <-- Block 
CastExpression                      	 <-- '(' IdentifierList ')' UnaryExpression 
ExtendsInterfaces                   	 <-- 'extends' IdentifierList TypeArguments 
ExtendsInterfaces                   	 <-- ExtendsInterfaces ',' IdentifierList TypeArguments 
ExtendsInterfaces                   	 <-- 'extends' IdentifierList 
ExtendsInterfaces                   	 <-- ExtendsInterfaces ',' IdentifierList 
PreIncrementExpression              	 <-- '++' UnaryExpression 
BoundList                           	 <-- Bound BoundList 
BoundList                           	 <-- Bound 
UnaryExpression                     	 <-- '+' UnaryExpression 
UnaryExpression                     	 <-- PreIncrementExpression 
UnaryExpression                     	 <-- '-' UnaryExpression 
UnaryExpression                     	 <-- UnaryExpressionNotPlusMinus 
UnaryExpression                     	 <-- PreDecrementExpression 
MethodRest                          	 <-- MethodBody 
MethodRest                          	 <-- Throws MethodBody 
ClassBody                           	 <-- '{' ClassBodyDeclarationList '}' 
ClassBody                           	 <-- '{' '}' 
CheckExpr                           	 <-- 'ε' 
CheckExpr                           	 <-- Expression 
UnaryExpressionNotPlusMinus         	 <-- PostfixExpression 
UnaryExpressionNotPlusMinus         	 <-- '!' UnaryExpression 
UnaryExpressionNotPlusMinus         	 <-- CastExpression 
UnaryExpressionNotPlusMinus         	 <-- '~' UnaryExpression 
AssignmentExpression                	 <-- ConditionalExpression 
AssignmentExpression                	 <-- Assignment 
DimExpressionList                   	 <-- DimExpression DimExpressionList 
DimExpressionList                   	 <-- DimExpression 
LocalVariableDeclaration            	 <-- Type VariableDeclaratorList 
LocalVariableDeclaration            	 <-- Modifiers Type VariableDeclaratorList 
ExpressionList                      	 <-- Expression ',' ExpressionList 
ExpressionList                      	 <-- Expression 
Modifier                            	 <-- AccessModifier 
Modifier                            	 <-- StructuralModifier 
Modifier                            	 <-- BehavioralModifier 
FormalParameter                     	 <-- Modifiers Type Identifier 
FormalParameter                     	 <-- Type Identifier 
FormalParameter                     	 <-- Type Identifier Dims 
FormalParameter                     	 <-- Type '...' Identifier 
FormalParameter                     	 <-- Modifiers Type Identifier Dims 
AndOperand                          	 <-- EqualityExpression 
VariableDeclaratorList              	 <-- VariableDeclarator 
VariableDeclaratorList              	 <-- VariableDeclarator ',' VariableDeclaratorList 
SwitchBlockStatementList            	 <-- SwitchBlockStatement SwitchBlockStatementList 
SwitchBlockStatementList            	 <-- SwitchBlockStatement 
ElementValuePairList                	 <-- ElementValuePair ',' ElementValuePairList 
ElementValuePairList                	 <-- ElementValuePair 
ElementValue                        	 <-- ElementValueArrayInitializer 
ElementValue                        	 <-- Expression 
ElementValue                        	 <-- Annotation 
ActualTypeArgument                  	 <-- '?' 
ActualTypeArgument                  	 <-- Identifier 
ActualTypeArgument                  	 <-- '?' WildcardBounds 
ActualTypeArgument                  	 <-- Identifier Dims 
ActualTypeArgument                  	 <-- Identifier TypeArguments 
InterfaceRest                       	 <-- InterfaceBody 
InterfaceRest                       	 <-- ExtendsInterfaces InterfaceBody 
InterfaceMemberDeclaration          	 <-- Type VariableDeclaratorList ';' 
InterfaceMemberDeclaration          	 <-- Modifiers ClassDeclaration 
InterfaceMemberDeclaration          	 <-- InterfaceDeclaration 
InterfaceMemberDeclaration          	 <-- TypeParameters 'void' Identifier '(' FormalParameterList ')' AbstractMethodRest 
InterfaceMemberDeclaration          	 <-- Modifiers Type Identifier '(' FormalParameterList ')' AbstractMethodRest 
InterfaceMemberDeclaration          	 <-- ClassDeclaration 
InterfaceMemberDeclaration          	 <-- Modifiers Type VariableDeclaratorList ';' 
InterfaceMemberDeclaration          	 <-- Type Identifier '(' FormalParameterList ')' AbstractMethodRest 
InterfaceMemberDeclaration          	 <-- 'void' Identifier '(' FormalParameterList ')' AbstractMethodRest 
InterfaceMemberDeclaration          	 <-- Modifiers InterfaceDeclaration 
InterfaceMemberDeclaration          	 <-- TypeParameters Type Identifier '(' FormalParameterList ')' AbstractMethodRest 
InterfaceMemberDeclaration          	 <-- Modifiers 'void' Identifier '(' FormalParameterList ')' AbstractMethodRest 
CatchFormalParameter                	 <-- Modifiers CatchType Identifier 
CatchFormalParameter                	 <-- CatchType Identifier 
AnnotationList                      	 <-- Annotation 
AnnotationList                      	 <-- Annotation AnnotationList 
Integer                             	 <-- 'integer' 
MethodBody                          	 <-- Block 
ClassDeclaration                    	 <-- 'enum' Identifier EnumBody 
ClassDeclaration                    	 <-- 'class' ClassIdentifier ClassRest 
ImplementsInterfaces                	 <-- 'implements' IdentifierList TypeArguments 
ImplementsInterfaces                	 <-- 'implements' IdentifierList 
ImplementsInterfaces                	 <-- ImplementsInterfaces ',' IdentifierList TypeArguments 
ImplementsInterfaces                	 <-- ImplementsInterfaces ',' IdentifierList 
ElementValuePair                    	 <-- Identifier '=' ElementValue 
DimExpression                       	 <-- '[' Expression ']' 
EnumBodyDeclarations                	 <-- ClassBodyDeclarationList 
LocalVariableDeclarationStatement   	 <-- Modifiers Type VariableDeclaratorList ';' 
LocalVariableDeclarationStatement   	 <-- Type VariableDeclaratorList ';' 
FieldAccess                         	 <-- IdentifierList 
VariableInitializer                 	 <-- ArrayInitializer 
ArrayInitializer                    	 <-- '{' VariableInitializerList '}' 
ArrayInitializer                    	 <-- '{' VariableInitializerList ',' '}' 
