Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
3529 lines (3528 sloc) 90.8 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<root>CompilationUnit</root>
<xns1:production>
<nonterminal>ClassBodyDeclarations</nonterminal>
<xns1:expression>
<nonterminal>ClassBodyDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclarations</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ClassBodyDeclarations</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassBodyDeclaration</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostDecrementExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PostfixExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExpressionStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>StatementExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimitiveType</nonterminal>
<xns1:expression>
<nonterminal>NumericType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimitiveType</nonterminal>
<xns1:expression>
<terminal>boolean</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceTypeList</nonterminal>
<xns1:expression>
<nonterminal>InterfaceType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceTypeList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>InterfaceTypeList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceType</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>InterfaceModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>interface</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ExtendsInterfaces</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>LabeledStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>IfThenStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>IfThenElseStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>WhileStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>ForStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AndExpression</nonterminal>
<xns1:expression>
<nonterminal>EqualityExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AndExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AndExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EqualityExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorBody</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ExplicitConstructorInvocation</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>BlockStatements</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArgumentList</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArgumentList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodName</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodName</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AmbiguousName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassMemberDeclaration</nonterminal>
<xns1:expression>
<nonterminal>FieldDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassMemberDeclaration</nonterminal>
<xns1:expression>
<nonterminal>MethodDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Assignment</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LeftHandSide</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AssignmentOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AssignmentExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Interfaces</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>implements</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceTypeList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CatchClause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>catch</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>FormalParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AbstractMethodModifiers</nonterminal>
<xns1:expression>
<nonterminal>AbstractMethodModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AbstractMethodModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AbstractMethodModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AbstractMethodModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostIncrementExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PostfixExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeName</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeName</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PackageName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceType</nonterminal>
<xns1:expression>
<nonterminal>TypeName</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BlockStatement</nonterminal>
<xns1:expression>
<nonterminal>LocalVariableDeclarationStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BlockStatement</nonterminal>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IfThenStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchBlockStatementGroups</nonterminal>
<xns1:expression>
<nonterminal>SwitchBlockStatementGroup</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchBlockStatementGroups</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SwitchBlockStatementGroups</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SwitchBlockStatementGroup</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassModifier</nonterminal>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassModifier</nonterminal>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SingleTypeImportDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>import</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TypeName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceModifiers</nonterminal>
<xns1:expression>
<nonterminal>InterfaceModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>InterfaceModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PreIncrementExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExplicitConstructorInvocation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExplicitConstructorInvocation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpression</nonterminal>
<xns1:expression>
<nonterminal>PreIncrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpression</nonterminal>
<xns1:expression>
<nonterminal>PreDecrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpression</nonterminal>
<xns1:expression>
<nonterminal>UnaryExpressionNotPlusMinus</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableInitializers</nonterminal>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableInitializers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>VariableInitializers</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>DimExpr</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Throws</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throws</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassTypeList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BlockStatements</nonterminal>
<xns1:expression>
<nonterminal>BlockStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BlockStatements</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BlockStatements</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BlockStatement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ConstantModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclarator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassTypeList</nonterminal>
<xns1:expression>
<nonterminal>ClassType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassTypeList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ClassTypeList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassType</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<nonterminal>Literal</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<nonterminal>ClassInstanceCreationExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<nonterminal>FieldAccess</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<nonterminal>MethodInvocation</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimaryNoNewArray</nonterminal>
<xns1:expression>
<nonterminal>ArrayAccess</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>*=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>/=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>%=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>+=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>-=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>&lt;&lt;=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>&gt;&gt;=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>&gt;&gt;&gt;=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>&#38;=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>^=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentOperator</nonterminal>
<xns1:expression>
<terminal>|=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>IntegerLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>FloatingPointLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>BooleanLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>CharacterLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>StringLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>NullLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>EmptyStatement</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ReturnStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>return</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclarator</nonterminal>
<xns1:expression>
<nonterminal>VariableDeclaratorId</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>VariableDeclaratorId</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostfixExpression</nonterminal>
<xns1:expression>
<nonterminal>Primary</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostfixExpression</nonterminal>
<xns1:expression>
<nonterminal>ExpressionName</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostfixExpression</nonterminal>
<xns1:expression>
<nonterminal>PostIncrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostfixExpression</nonterminal>
<xns1:expression>
<nonterminal>PostDecrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchLabel</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>case</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstantExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchLabel</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>default</terminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentExpression</nonterminal>
<xns1:expression>
<nonterminal>ConditionalExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AssignmentExpression</nonterminal>
<xns1:expression>
<nonterminal>Assignment</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FormalParameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclaratorId</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PackageName</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PackageName</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PackageName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalAndExpression</nonterminal>
<xns1:expression>
<nonterminal>InclusiveOrExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalAndExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConditionalAndExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InclusiveOrExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifiers</nonterminal>
<xns1:expression>
<nonterminal>MethodModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MethodModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<nonterminal>PrimitiveType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<nonterminal>ReferenceType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>EqualityExpression</nonterminal>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>EqualityExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>EqualityExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>==</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>EqualityExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>EqualityExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>!=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDeclaration</nonterminal>
<xns1:expression>
<nonterminal>ConstantDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDeclaration</nonterminal>
<xns1:expression>
<nonterminal>AbstractMethodDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MultiplicativeExpression</nonterminal>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MultiplicativeExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MultiplicativeExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MultiplicativeExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MultiplicativeExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MultiplicativeExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MultiplicativeExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>%</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BreakStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>break</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorModifier</nonterminal>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorModifier</nonterminal>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SynchronizedStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>synchronized</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassInstanceCreationExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassType</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Super</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassType</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayCreationExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>PrimitiveType</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DimExprs</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Dims</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayCreationExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TypeName</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DimExprs</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Dims</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayInitializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>VariableInitializers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceModifier</nonterminal>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpressionNotPlusMinus</nonterminal>
<xns1:expression>
<nonterminal>PostfixExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpressionNotPlusMinus</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>~</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpressionNotPlusMinus</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UnaryExpressionNotPlusMinus</nonterminal>
<xns1:expression>
<nonterminal>CastExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchBlock</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>SwitchBlockStatementGroups</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>SwitchLabels</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>FieldModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclarators</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementNoShortIf</nonterminal>
<xns1:expression>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementNoShortIf</nonterminal>
<xns1:expression>
<nonterminal>LabeledStatementNoShortIf</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementNoShortIf</nonterminal>
<xns1:expression>
<nonterminal>IfThenElseStatementNoShortIf</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementNoShortIf</nonterminal>
<xns1:expression>
<nonterminal>WhileStatementNoShortIf</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementNoShortIf</nonterminal>
<xns1:expression>
<nonterminal>ForStatementNoShortIf</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodInvocation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MethodName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodInvocation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Primary</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodInvocation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ArgumentList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AbstractMethodDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>AbstractMethodModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ResultType</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodDeclarator</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Throws</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IfThenElseStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementNoShortIf</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayAccess</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ExpressionName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayAccess</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PrimaryNoNewArray</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Block</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>BlockStatements</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForUpdate</nonterminal>
<xns1:expression>
<nonterminal>StatementExpressionList</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForInit</nonterminal>
<xns1:expression>
<nonterminal>StatementExpressionList</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForInit</nonterminal>
<xns1:expression>
<nonterminal>LocalVariableDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclarators</nonterminal>
<xns1:expression>
<nonterminal>VariableDeclarator</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclarators</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>VariableDeclarators</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclarator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ThrowStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throw</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExclusiveOrExpression</nonterminal>
<xns1:expression>
<nonterminal>AndExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExclusiveOrExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ExclusiveOrExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AndExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<nonterminal>PrimaryNoNewArray</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<nonterminal>ArrayCreationExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PackageDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>package</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>PackageName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>RelationalExpression</nonterminal>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>RelationalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>RelationalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>RelationalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>RelationalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>RelationalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RelationalExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>instanceof</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ReferenceType</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>WhileStatementNoShortIf</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementNoShortIf</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExtendsInterfaces</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceType</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExtendsInterfaces</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ExtendsInterfaces</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceType</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AbstractMethodModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AbstractMethodModifier</nonterminal>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantExpression</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableInitializer</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableInitializer</nonterminal>
<xns1:expression>
<nonterminal>ArrayInitializer</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StaticInitializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Finally</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>finally</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ConstructorModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstructorDeclarator</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Throws</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstructorBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeImportOnDemandDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>import</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>PackageName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PreDecrementExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDeclarations</nonterminal>
<xns1:expression>
<nonterminal>InterfaceMemberDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDeclarations</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>InterfaceMemberDeclarations</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceMemberDeclaration</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>for</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ForInit</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ForUpdate</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AmbiguousName</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AmbiguousName</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AmbiguousName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ContinueStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>continue</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ImportDeclaration</nonterminal>
<xns1:expression>
<nonterminal>SingleTypeImportDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ImportDeclaration</nonterminal>
<xns1:expression>
<nonterminal>TypeImportOnDemandDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CompilationUnit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>PackageDeclaration</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ImportDeclarations</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>TypeDeclarations</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>switch</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SwitchBlock</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Dims</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Dims</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Dims</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBody</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ClassBodyDeclarations</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalOrExpression</nonterminal>
<xns1:expression>
<nonterminal>ConditionalAndExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalOrExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConditionalOrExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>||</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConditionalAndExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclaration</nonterminal>
<xns1:expression>
<nonterminal>ClassMemberDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclaration</nonterminal>
<xns1:expression>
<nonterminal>StaticInitializer</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclaration</nonterminal>
<xns1:expression>
<nonterminal>ConstructorDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchBlockStatementGroup</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SwitchLabels</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BlockStatements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MethodHeader</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>synchronized</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodModifier</nonterminal>
<xns1:expression>
<terminal>native</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>DoStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>do</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalExpression</nonterminal>
<xns1:expression>
<nonterminal>ConditionalOrExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConditionalOrExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>?</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConditionalExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassOrInterfaceType</nonterminal>
<xns1:expression>
<nonterminal>ClassType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassOrInterfaceType</nonterminal>
<xns1:expression>
<nonterminal>InterfaceType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TryStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>try</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Catches</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TryStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>try</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Catches</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Finally</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchLabels</nonterminal>
<xns1:expression>
<nonterminal>SwitchLabel</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchLabels</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SwitchLabels</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SwitchLabel</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FormalParameterList</nonterminal>
<xns1:expression>
<nonterminal>FormalParameter</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FormalParameterList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FormalParameterList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>FormalParameter</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression</nonterminal>
<xns1:expression>
<nonterminal>AssignmentExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpressionList</nonterminal>
<xns1:expression>
<nonterminal>StatementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpressionList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>StatementExpressionList</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AdditiveExpression</nonterminal>
<xns1:expression>
<nonterminal>MultiplicativeExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AdditiveExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AdditiveExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MultiplicativeExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AdditiveExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AdditiveExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MultiplicativeExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FloatingPointType</nonterminal>
<xns1:expression>
<terminal>float</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FloatingPointType</nonterminal>
<xns1:expression>
<terminal>double</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocalVariableDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclarators</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorDeclarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>FormalParameterList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InclusiveOrExpression</nonterminal>
<xns1:expression>
<nonterminal>ExclusiveOrExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InclusiveOrExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>InclusiveOrExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ExclusiveOrExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassType</nonterminal>
<xns1:expression>
<nonterminal>TypeName</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>WhileStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ClassModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Super</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Interfaces</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CastExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>PrimitiveType</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Dims</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CastExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ReferenceType</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>UnaryExpressionNotPlusMinus</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ImportDeclarations</nonterminal>
<xns1:expression>
<nonterminal>ImportDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ImportDeclarations</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ImportDeclarations</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ImportDeclaration</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclaration</nonterminal>
<xns1:expression>
<nonterminal>ClassDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclaration</nonterminal>
<xns1:expression>
<nonterminal>InterfaceDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclaration</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LabeledStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExpressionName</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExpressionName</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AmbiguousName</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayType</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>Assignment</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>PreIncrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>PreDecrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>PostIncrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>PostDecrementExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>MethodInvocation</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>ClassInstanceCreationExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodDeclarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>FormalParameterList</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodDeclarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MethodDeclarator</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclaratorId</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclaratorId</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>VariableDeclaratorId</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IntegralType</nonterminal>
<xns1:expression>
<terminal>byte</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IntegralType</nonterminal>
<xns1:expression>
<terminal>short</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IntegralType</nonterminal>
<xns1:expression>
<terminal>int</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IntegralType</nonterminal>
<xns1:expression>
<terminal>long</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IntegralType</nonterminal>
<xns1:expression>
<terminal>char</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>NumericType</nonterminal>
<xns1:expression>
<nonterminal>IntegralType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>NumericType</nonterminal>
<xns1:expression>
<nonterminal>FloatingPointType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LeftHandSide</nonterminal>
<xns1:expression>
<nonterminal>ExpressionName</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LeftHandSide</nonterminal>
<xns1:expression>
<nonterminal>FieldAccess</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LeftHandSide</nonterminal>
<xns1:expression>
<nonterminal>ArrayAccess</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IfThenElseStatementNoShortIf</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementNoShortIf</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementNoShortIf</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocalVariableDeclarationStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LocalVariableDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ShiftExpression</nonterminal>
<xns1:expression>
<nonterminal>AdditiveExpression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ShiftExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AdditiveExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ShiftExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AdditiveExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ShiftExpression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ShiftExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AdditiveExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifiers</nonterminal>
<xns1:expression>
<nonterminal>FieldModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FieldModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>FieldModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodBody</nonterminal>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodBody</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Catches</nonterminal>
<xns1:expression>
<nonterminal>CatchClause</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Catches</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Catches</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CatchClause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ResultType</nonterminal>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ResultType</nonterminal>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorModifiers</nonterminal>
<xns1:expression>
<nonterminal>ConstructorModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConstructorModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstructorModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ReferenceType</nonterminal>
<xns1:expression>
<nonterminal>ClassOrInterfaceType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ReferenceType</nonterminal>
<xns1:expression>
<nonterminal>ArrayType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassModifiers</nonterminal>
<xns1:expression>
<nonterminal>ClassModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ClassModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForStatementNoShortIf</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>for</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ForInit</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ForUpdate</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementNoShortIf</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodHeader</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>MethodModifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ResultType</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodDeclarator</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Throws</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LabeledStatementNoShortIf</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementNoShortIf</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceBody</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>InterfaceMemberDeclarations</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantModifiers</nonterminal>
<xns1:expression>
<nonterminal>ConstantModifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantModifiers</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConstantModifiers</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstantModifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantModifier</nonterminal>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantModifier</nonterminal>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldAccess</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Primary</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldAccess</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclarations</nonterminal>
<xns1:expression>
<nonterminal>TypeDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclarations</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>TypeDeclarations</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TypeDeclaration</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>transient</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FieldModifier</nonterminal>
<xns1:expression>
<terminal>volatile</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>EmptyStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>ExpressionStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>SwitchStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>DoStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>BreakStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>ContinueStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>ReturnStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>SynchronizedStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>ThrowStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementWithoutTrailingSubstatement</nonterminal>
<xns1:expression>
<nonterminal>TryStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>DimExprs</nonterminal>
<xns1:expression>
<nonterminal>DimExpr</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>DimExprs</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DimExprs</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DimExpr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
</xns1:grammar>