Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2530 lines (2529 sloc) 60.8 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<root>CompilationUnit</root>
<xns1:production>
<nonterminal>ConstantExpression</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrefixOp</nonterminal>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrefixOp</nonterminal>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrefixOp</nonterminal>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrefixOp</nonterminal>
<xns1:expression>
<terminal>~</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrefixOp</nonterminal>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrefixOp</nonterminal>
<xns1:expression>
<terminal>-</terminal>
</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>VariableInitializer</nonterminal>
<xns1:expression>
<nonterminal>ArrayInitializer</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableInitializer</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDecl</nonterminal>
<xns1:expression>
<nonterminal>InterfaceMethodOrFieldDecl</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDecl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VoidInterfaceMethodDeclaratorRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMemberDecl</nonterminal>
<xns1:expression>
<nonterminal>ClassOrInterfaceDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FormalParameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclaratorId</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclaration</nonterminal>
<xns1:expression>
<nonterminal>ClassOrInterfaceDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeDeclaration</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodOrFieldDecl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodOrFieldRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantDeclaratorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StatementExpression</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>interface</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TypeList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>QualifiedIdentifierList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>QualifiedIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>QualifiedIdentifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Arguments</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ParExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</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>Statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ParExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</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>
<nonterminal>ParExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>try</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Catches</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Catches</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>finally</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>switch</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ParExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SwitchBlockStatementGroups</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>synchronized</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ParExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</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>Statement</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>Statement</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>Statement</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>Statement</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</nonterminal>
<xns1:expression>
<nonterminal>ExpressionStatement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Statement</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>VariableDeclaratorId</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<nonterminal>BasicType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayCreatorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ArrayInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
<xns1:expression>
<star>
<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>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>native</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>synchronized</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>transient</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>volatile</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<terminal>strictfp</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMethodOrFieldDecl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceMethodOrFieldRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ImportDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>import</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CompilationUnit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>package</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>QualifiedIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>ImportDeclaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>TypeDeclaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>byte</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>short</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>char</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>int</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>long</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>float</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>double</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BasicType</nonterminal>
<xns1:expression>
<terminal>boolean</terminal>
</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>Selector</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Selector</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Selector</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SuperSuffix</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Selector</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InnerCreator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Selector</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>ModifiersOpt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>Modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassCreatorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ClassBody</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantDeclarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstantDeclaratorRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclaration</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBodyDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ModifiersOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MemberDecl</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BlockStatements</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>BlockStatement</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VoidInterfaceMethodDeclaratorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FormalParameters</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throws</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>QualifiedIdentifierList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocalVariableDeclarationStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>final</terminal>
</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>Expression1</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression2</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Expression1Rest</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MemberDecl</nonterminal>
<xns1:expression>
<nonterminal>MethodOrFieldDecl</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MemberDecl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodDeclaratorRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MemberDecl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstructorDeclaratorRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MemberDecl</nonterminal>
<xns1:expression>
<nonterminal>ClassOrInterfaceDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression3</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PrefixOp</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression3</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression3</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression3</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression3</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Primary</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>Selector</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>PostfixOp</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression2</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression3</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Expression2Rest</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BracketsOpt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodOrFieldRest</nonterminal>
<xns1:expression>
<nonterminal>VariableDeclaratorRest</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodOrFieldRest</nonterminal>
<xns1:expression>
<nonterminal>MethodDeclaratorRest</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MoreStatementExpressions</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StatementExpression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchBlockStatementGroups</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>SwitchBlockStatementGroup</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ArrayInitializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Catches</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>CatchClause</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>CatchClause</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMethodOrFieldRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConstantDeclaratorsRest</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMethodOrFieldRest</nonterminal>
<xns1:expression>
<nonterminal>InterfaceMethodDeclaratorRest</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression1Rest</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>?</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression1</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>||</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&#38;&#38;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>==</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>!=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&lt;&lt;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&gt;&gt;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>&gt;&gt;&gt;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infixop</nonterminal>
<xns1:expression>
<terminal>%</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodDeclaratorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FormalParameters</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throws</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>QualifiedIdentifierList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>MethodBody</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceBodyDeclaration</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceBodyDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ModifiersOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceMemberDecl</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>QualifiedIdentifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstantDeclaratorsRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ConstantDeclaratorRest</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ConstantDeclarator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassOrInterfaceDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ModifiersOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>ClassDeclaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InterfaceDeclaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SuperSuffix</nonterminal>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SuperSuffix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclaratorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableInitializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</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>ClassOrInterfaceDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BlockStatement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceBody</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>InterfaceBodyDeclaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</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>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>BooleanLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Literal</nonterminal>
<xns1:expression>
<nonterminal>NullLiteral</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression1</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AssignmentOperator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression1</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SwitchBlockStatementGroup</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SwitchLabel</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BlockStatements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Block</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BlockStatements</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostfixOp</nonterminal>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PostfixOp</nonterminal>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InterfaceMethodDeclaratorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FormalParameters</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throws</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>QualifiedIdentifierList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IdentifierSuffix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IdentifierSuffix</nonterminal>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IdentifierSuffix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>InnerCreator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForUpdate</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>StatementExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MoreStatementExpressions</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForInit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>StatementExpression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MoreStatementExpressions</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ForInit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclarators</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Creator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>QualifiedIdentifier</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>ArrayCreatorRest</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassCreatorRest</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</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>&#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>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>ParExpression</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>VariableDeclarators</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>VariableDeclarator</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclarator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassBody</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>ClassBodyDeclaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</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>Primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Arguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>super</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SuperSuffix</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<nonterminal>Literal</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Creator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>IdentifierSuffix</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BasicType</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BracketsOpt</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConstructorDeclaratorRest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FormalParameters</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throws</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>QualifiedIdentifierList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>MethodBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FormalParameters</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FormalParameter</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>FormalParameter</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>TypeList</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MethodBody</nonterminal>
<xns1:expression>
<nonterminal>Block</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ClassDeclaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>implements</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TypeList</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassBody</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression2Rest</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Infixop</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression3</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression2Rest</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>instanceof</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>InnerCreator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ClassCreatorRest</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDeclarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>VariableDeclaratorRest</nonterminal>
</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:grammar>