Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2461 lines (2460 sloc) 59.3 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>program</nonterminal>
<xns1:expression>
<nonterminal>package_declaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>package_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>package_header</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>import_declaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>type_declaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>package_header</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>package</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>package_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>package_name</nonterminal>
<xns1:expression>
<nonterminal>qualified_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>import_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>import</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>imported_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>imported_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>package_or_type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>dot_star</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>package_or_type_name</nonterminal>
<xns1:expression>
<nonterminal>qualified_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>dot_star</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declared_name</nonterminal>
<xns1:expression>
<nonterminal>reference</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>class_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>interface_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>class_header</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_header</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>extends_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>implements_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_body</nonterminal>
<xns1:expression>
<nonterminal>class_or_interface_body</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interface_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>interface_header</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interface_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interface_header</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>interface</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interface_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>extends_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>implements_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interface_body</nonterminal>
<xns1:expression>
<nonterminal>class_or_interface_body</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<terminal>transient</terminal>
</xns1:expression>
<xns1:expression>
<terminal>volatile</terminal>
</xns1:expression>
<xns1:expression>
<terminal>native</terminal>
</xns1:expression>
<xns1:expression>
<terminal>synchronized</terminal>
</xns1:expression>
<xns1:expression>
<terminal>strictfp</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>extends_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>implements_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>implements</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>qualified_name</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_name</nonterminal>
<xns1:expression>
<nonterminal>declared_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interface_name</nonterminal>
<xns1:expression>
<nonterminal>declared_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_or_interface_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>class_body_declaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_body_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>empty_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>member_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>instance_initializer</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>static_initializer</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>field_declaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>empty_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>member_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>method_or_constructor_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_declaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_or_constructor_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>method_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constructor_declaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>instance_initializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>static_initializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constructor_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>constructor_declarator</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>throws</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>constructor_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constructor_declarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>class_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>formal_parameter</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constructor_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>field_declaration</nonterminal>
<xns1:expression>
<nonterminal>variable_declaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variable_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>type_specifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variable_declarators</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variable_declarators</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>variable_declarator</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variable_declarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>variable_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>equals_variable_initializer</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variable_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declared_name</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>dimension</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equals_variable_initializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variable_initializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variable_initializer</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_initializer</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>array_initializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>variable_initializer</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</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>method_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>type_specifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>method_declarator</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>throws</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>method_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_declarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>method_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>formal_parameter</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>dimension</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_name</nonterminal>
<xns1:expression>
<nonterminal>declared_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>formal_parameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>final</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>type_specifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_parameter_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>formal_parameter_name</nonterminal>
<xns1:expression>
<nonterminal>variable_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>throws</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>throws</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>qualified_name</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_body</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type_specifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type_specifier</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>array_type_specifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>dimension</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type_name</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>primitive_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>qualified_name</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primitive_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>boolean</terminal>
</xns1:expression>
<xns1:expression>
<terminal>char</terminal>
</xns1:expression>
<xns1:expression>
<terminal>byte</terminal>
</xns1:expression>
<xns1:expression>
<terminal>short</terminal>
</xns1:expression>
<xns1:expression>
<terminal>int</terminal>
</xns1:expression>
<xns1:expression>
<terminal>long</terminal>
</xns1:expression>
<xns1:expression>
<terminal>float</terminal>
</xns1:expression>
<xns1:expression>
<terminal>double</terminal>
</xns1:expression>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>block</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>declaration_or_statement</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declaration_or_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>local_variable_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_variable_declaration</nonterminal>
<xns1:expression>
<nonterminal>variable_declaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>label_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>empty_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>if_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>switch_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>while_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>do_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>for_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>break_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>continue_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>return_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>throw_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>synchronized_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>try_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>empty_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>label_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>label_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>label_name</nonterminal>
<xns1:expression>
<nonterminal>reference</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expression_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>if_statement</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>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>else_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>else_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_statement</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>switch_block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_block</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>switch_alternative</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_alternative</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>switch_label</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>declaration_or_statement</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_label</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>case</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constant_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>default</terminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>while_statement</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>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>do_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>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>for_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>for</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>for_init</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>for_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>for_update</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>for_init</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>local_variable_declaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>for_expression</nonterminal>
<xns1:expression>
<sequence>
<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>for_update</nonterminal>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>break_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>break</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>label_name</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>continue_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>continue</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>label_name</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>return_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>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>throw_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>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>synchronized_statement</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>statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>try_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>try</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>catch_clause</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>finally_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>catch_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>catch</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_specifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variable_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>finally_clause</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>constant_expression</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expression</nonterminal>
<xns1:expression>
<nonterminal>assignment_expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assignment_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>conditional_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignment_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignment_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assignment_operator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>*=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>/=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>%=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>+=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>^=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>|=</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>conditional_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>conditional_choice</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_choice</nonterminal>
<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>conditional_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_or_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>conditional_and_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>or_conditional_and_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>or_conditional_and_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>||</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>conditional_and_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_and_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>inclusive_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>and_inclusive_or_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>and_inclusive_or_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&#38;&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>inclusive_or_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>inclusive_or_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>exclusive_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>or_exclusive_or_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>or_exclusive_or_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>exclusive_or_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>exclusive_or_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>and_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>or_and_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>or_and_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>and_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>and_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>equality_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>and_equality_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>and_equality_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>equality_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equality_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>equality_op_relational_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equality_op_relational_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>equality_op</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equality_op</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>==</terminal>
</xns1:expression>
<xns1:expression>
<terminal>!=</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>relational_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>relational_op_shift_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>relational_op_shift_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_op</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>instanceof</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_specifier</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>relational_op</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>shift_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>shift_additive_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>shift_additive_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shift_op</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>shift_op</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>&lt;&lt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;&gt;</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>additive_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>add_op_multiplicative_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>add_op_multiplicative_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>add_op</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>add_op</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>multiplicative_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>mult_op_unary_expression</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>mult_op_unary_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>mult_op</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>mult_op</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
<xns1:expression>
<terminal>%</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unary_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>pre_inc_dec</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>unary_op</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>postfix_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>cast_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pre_inc_dec</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unary_op</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<terminal>~</terminal>
</xns1:expression>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>cast_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_specifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>postfix_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>primary</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>post_inc_dec</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>post_inc_dec</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subscript</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>
<choice>
<xns1:expression>
<nonterminal>literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>reference</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>component</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>class_instance_creation_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_creation_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>literal</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>numeric_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>character_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>string_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>boolean_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>null_literal</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>numeric_literal</nonterminal>
<xns1:expression>
<nonterminal>number</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>character_literal</nonterminal>
<xns1:expression>
<nonterminal>charlit</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>string_literal</nonterminal>
<xns1:expression>
<nonterminal>stringlit</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>boolean_literal</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>true</terminal>
</xns1:expression>
<xns1:expression>
<terminal>false</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>null_literal</nonterminal>
<xns1:expression>
<terminal>null</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_instance_creation_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_or_interface_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>argument</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>class_body</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_or_interface_name</nonterminal>
<xns1:expression>
<nonterminal>qualified_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>array_creation_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type_specifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>array_initializer</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>dimension</nonterminal>
<xns1:expression>
<sequence>
<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>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>argument</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>qualified_name</nonterminal>
<xns1:expression>
<nonterminal>reference</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>reference</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>component</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>component</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>dot_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>method_argument</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subscript</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_argument</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>argument</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>dot_id</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
</xns1:grammar>