/
grammar.bgf
2 lines (2 loc) · 66 KB
/
grammar.bgf
1
2
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf"><bgf:production><nonterminal>program</nonterminal><bgf:expression><nonterminal>package_declaration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>package_declaration</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>package_header</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>import_declaration</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>type_declaration</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>package_header</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>annotation</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><terminal>package</terminal></bgf:expression><bgf:expression><nonterminal>package_name</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>package_name</nonterminal><bgf:expression><nonterminal>qualified_name</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>import_declaration</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>import</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>static</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>imported_name</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>imported_name</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>package_or_type_name</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>dot_star</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>package_or_type_name</nonterminal><bgf:expression><nonterminal>qualified_name</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>dot_star</nonterminal><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><terminal>*</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>declared_name</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>id</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>generic_parameter</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>type_declaration</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>class_declaration</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>interface_declaration</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>enum_declaration</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>class_declaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>class_header</nonterminal></bgf:expression><bgf:expression><nonterminal>class_body</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>class_header</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><terminal>class</terminal></bgf:expression><bgf:expression><nonterminal>class_name</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>extends_clause</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>implements_clause</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>class_body</nonterminal><bgf:expression><nonterminal>class_or_interface_body</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>interface_declaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>interface_header</nonterminal></bgf:expression><bgf:expression><nonterminal>interface_body</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>interface_header</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>annot_marker</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>interface</terminal></bgf:expression><bgf:expression><nonterminal>interface_name</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>extends_clause</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>implements_clause</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>annot_marker</nonterminal><bgf:expression><terminal>@</terminal></bgf:expression></bgf:production><bgf:production><nonterminal>interface_body</nonterminal><bgf:expression><nonterminal>class_or_interface_body</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>enum_declaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>enum_header</nonterminal></bgf:expression><bgf:expression><nonterminal>enum_body</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>enum_header</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>id</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>enum</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>declared_name</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>implements_clause</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>enum_body</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><nonterminal>IN</nonterminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>enum_element</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><optional><bgf:expression><terminal>,</terminal></bgf:expression></optional></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>class_body_declaration</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>EX</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>;</terminal></bgf:expression></optional></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>enum_element</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>id</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>method_argument</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>modifier</nonterminal><bgf:expression><choice><bgf:expression><terminal>abstract</terminal></bgf:expression><bgf:expression><terminal>final</terminal></bgf:expression><bgf:expression><terminal>public</terminal></bgf:expression><bgf:expression><terminal>protected</terminal></bgf:expression><bgf:expression><terminal>private</terminal></bgf:expression><bgf:expression><terminal>static</terminal></bgf:expression><bgf:expression><terminal>transient</terminal></bgf:expression><bgf:expression><terminal>volatile</terminal></bgf:expression><bgf:expression><terminal>native</terminal></bgf:expression><bgf:expression><terminal>synchronized</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>strictfp</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>annotation</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>extends_clause</nonterminal><bgf:expression><sequence><bgf:expression><terminal>extends</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>type_name</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>implements_clause</nonterminal><bgf:expression><sequence><bgf:expression><terminal>implements</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>qualified_name</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>class_name</nonterminal><bgf:expression><nonterminal>declared_name</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>interface_name</nonterminal><bgf:expression><nonterminal>declared_name</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>class_or_interface_body</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>IN</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>class_body_declaration</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>EX</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>;</terminal></bgf:expression></optional></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>class_body_declaration</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>empty_declaration</nonterminal></bgf:expression><bgf:expression><nonterminal>member_declaration</nonterminal></bgf:expression><bgf:expression><nonterminal>instance_initializer</nonterminal></bgf:expression><bgf:expression><nonterminal>static_initializer</nonterminal></bgf:expression><bgf:expression><nonterminal>field_declaration</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>empty_declaration</nonterminal><bgf:expression><sequence><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>member_declaration</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>method_or_constructor_declaration</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>type_declaration</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>method_or_constructor_declaration</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>method_declaration</nonterminal></bgf:expression><bgf:expression><nonterminal>constructor_declaration</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>instance_initializer</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>static_initializer</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><terminal>static</terminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>constructor_declaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>generic_parameter</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>constructor_declarator</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>throws</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>constructor_body</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>constructor_declarator</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>class_name</nonterminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>formal_parameter</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>constructor_body</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>field_declaration</nonterminal><bgf:expression><nonterminal>variable_declaration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>variable_declaration</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><nonterminal>variable_declarators</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>variable_declarators</nonterminal><bgf:expression><plus><bgf:expression><nonterminal>variable_declarator</nonterminal></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>variable_declarator</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>variable_name</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>equals_variable_initializer</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>variable_name</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>declared_name</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>dimension</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>equals_variable_initializer</nonterminal><bgf:expression><sequence><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>variable_initializer</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>variable_initializer</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><nonterminal>array_initializer</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>array_initializer</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>variable_initializer</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><optional><bgf:expression><terminal>,</terminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>method_declaration</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>generic_parameter</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><nonterminal>method_declarator</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>throws</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>method_body</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>method_declarator</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>method_name</nonterminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>formal_parameter</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>dimension</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>method_name</nonterminal><bgf:expression><nonterminal>declared_name</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>formal_parameter</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>annotation</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><terminal>final</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>var_arg_specifier</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>formal_parameter_name</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>var_arg_specifier</nonterminal><bgf:expression><sequence><bgf:expression><terminal>...</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>formal_parameter_name</nonterminal><bgf:expression><nonterminal>variable_name</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>throws</nonterminal><bgf:expression><sequence><bgf:expression><terminal>throws</terminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>qualified_name</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>method_body</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>annotation_default</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>annotation_default</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>default</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>default</terminal></bgf:expression><bgf:expression><nonterminal>array_initializer</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>type_specifier</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>type_name</nonterminal></bgf:expression><bgf:expression><nonterminal>array_type_specifier</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>array_type_specifier</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>type_name</nonterminal></bgf:expression><bgf:expression><plus><bgf:expression><nonterminal>dimension</nonterminal></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>type_name</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>primitive_type</nonterminal></bgf:expression><bgf:expression><nonterminal>qualified_name</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>primitive_type</nonterminal><bgf:expression><choice><bgf:expression><terminal>boolean</terminal></bgf:expression><bgf:expression><terminal>char</terminal></bgf:expression><bgf:expression><terminal>byte</terminal></bgf:expression><bgf:expression><terminal>short</terminal></bgf:expression><bgf:expression><terminal>int</terminal></bgf:expression><bgf:expression><terminal>long</terminal></bgf:expression><bgf:expression><terminal>float</terminal></bgf:expression><bgf:expression><terminal>double</terminal></bgf:expression><bgf:expression><terminal>void</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>annotation</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>SPOFF</nonterminal></bgf:expression><bgf:expression><terminal>@</terminal></bgf:expression><bgf:expression><nonterminal>reference</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><terminal>@</terminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>SPON</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>annotation_value_spec</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>annotation_value_spec</nonterminal><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>annotation_value_list</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>annotation_value_list</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>single_annotation_value</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>keyed_annotation_value</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>single_annotation_value</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>nested_annotation</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>expression_or_nested_annotation</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>nested_annotation</nonterminal><bgf:expression><nonterminal>annotation</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>expression_or_nested_annotation</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><nonterminal>nested_annotation</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>keyed_annotation_value</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>id</nonterminal></bgf:expression><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><nonterminal>single_annotation_value</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>block</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>NL</nonterminal></bgf:expression><bgf:expression><nonterminal>IN</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>declaration_or_statement</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>EX</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>declaration_or_statement</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>declaration</nonterminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>declaration</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>local_variable_declaration</nonterminal></bgf:expression><bgf:expression><nonterminal>class_declaration</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>local_variable_declaration</nonterminal><bgf:expression><nonterminal>variable_declaration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>statement</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>label_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>empty_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>expression_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>if_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>switch_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>while_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>do_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>for_statement</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>for_in_statement</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>break_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>continue_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>return_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>throw_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>synchronized_statement</nonterminal></bgf:expression><bgf:expression><nonterminal>try_statement</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>assert_statement</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>empty_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>label_statement</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>label_name</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>label_name</nonterminal><bgf:expression><nonterminal>reference</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>expression_statement</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>if_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>if</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>else_clause</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>else_clause</nonterminal><bgf:expression><sequence><bgf:expression><terminal>else</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>switch_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>switch</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>switch_block</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>switch_block</nonterminal><bgf:expression><sequence><bgf:expression><terminal>{</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>IN</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>switch_alternative</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>EX</nonterminal></bgf:expression><bgf:expression><terminal>}</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>switch_alternative</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>switch_label</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>IN</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>declaration_or_statement</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>EX</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>switch_label</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>case</terminal></bgf:expression><bgf:expression><nonterminal>constant_expression</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>default</terminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>while_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>while</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>do_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>do</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><terminal>while</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>for_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>for</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>for_init</nonterminal></bgf:expression><bgf:expression><nonterminal>for_expression</nonterminal></bgf:expression><bgf:expression><nonterminal>for_update</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>for_init</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><sepliststar><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>local_variable_declaration</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>for_expression</nonterminal><bgf:expression><sequence><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>for_update</nonterminal><bgf:expression><sepliststar><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression></bgf:production><bgf:production><nonterminal>for_in_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>for</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>for_in_init</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>for_in_init</nonterminal><bgf:expression><sequence><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><nonterminal>variable_name</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>break_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>break</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>label_name</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>continue_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>continue</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>label_name</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>return_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>return</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>throw_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>throw</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>synchronized_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>synchronized</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>statement</nonterminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>try_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>try</terminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>catch_clause</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>finally_clause</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>catch_clause</nonterminal><bgf:expression><sequence><bgf:expression><terminal>catch</terminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>modifier</nonterminal></bgf:expression></star></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><nonterminal>variable_name</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>finally_clause</nonterminal><bgf:expression><sequence><bgf:expression><terminal>finally</terminal></bgf:expression><bgf:expression><nonterminal>block</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>assert_statement</nonterminal><bgf:expression><sequence><bgf:expression><terminal>assert</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>assert_error_code</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>;</terminal></bgf:expression><bgf:expression><nonterminal>NL</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>assert_error_code</nonterminal><bgf:expression><sequence><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>constant_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>expression</nonterminal><bgf:expression><nonterminal>assignment_expression</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>assignment_expression</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>conditional_expression</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>unary_expression</nonterminal></bgf:expression><bgf:expression><nonterminal>assignment_operator</nonterminal></bgf:expression><bgf:expression><nonterminal>assignment_expression</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>assignment_operator</nonterminal><bgf:expression><choice><bgf:expression><terminal>=</terminal></bgf:expression><bgf:expression><terminal>*=</terminal></bgf:expression><bgf:expression><terminal>/=</terminal></bgf:expression><bgf:expression><terminal>%=</terminal></bgf:expression><bgf:expression><terminal>+=</terminal></bgf:expression><bgf:expression><terminal>-=</terminal></bgf:expression><bgf:expression><terminal><<=</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>SPOFF</nonterminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal>>=</terminal></bgf:expression><bgf:expression><nonterminal>SPON</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>SPOFF</nonterminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal>>=</terminal></bgf:expression><bgf:expression><nonterminal>SPON</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><terminal>&=</terminal></bgf:expression><bgf:expression><terminal>^=</terminal></bgf:expression><bgf:expression><terminal>|=</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>conditional_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>conditional_or_expression</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>conditional_choice</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>conditional_choice</nonterminal><bgf:expression><sequence><bgf:expression><terminal>?</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>:</terminal></bgf:expression><bgf:expression><nonterminal>conditional_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>conditional_or_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>conditional_and_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>or_conditional_and_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>or_conditional_and_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>||</terminal></bgf:expression><bgf:expression><nonterminal>conditional_and_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>conditional_and_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>inclusive_or_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>and_inclusive_or_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>and_inclusive_or_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>&&</terminal></bgf:expression><bgf:expression><nonterminal>inclusive_or_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>inclusive_or_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>exclusive_or_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>or_exclusive_or_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>or_exclusive_or_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>|</terminal></bgf:expression><bgf:expression><nonterminal>exclusive_or_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>exclusive_or_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>and_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>or_and_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>or_and_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>^</terminal></bgf:expression><bgf:expression><nonterminal>and_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>and_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>equality_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>and_equality_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>and_equality_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>&</terminal></bgf:expression><bgf:expression><nonterminal>equality_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>equality_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>relational_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>equality_op_relational_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>equality_op_relational_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>equality_op</nonterminal></bgf:expression><bgf:expression><nonterminal>relational_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>equality_op</nonterminal><bgf:expression><choice><bgf:expression><terminal>==</terminal></bgf:expression><bgf:expression><terminal>!=</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>relational_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>shift_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>relational_op_shift_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>relational_op_shift_expression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>relational_op</nonterminal></bgf:expression><bgf:expression><nonterminal>shift_expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>instanceof</terminal></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>relational_op</nonterminal><bgf:expression><choice><bgf:expression><terminal><</terminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal><=</terminal></bgf:expression><bgf:expression><terminal>>=</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>shift_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>additive_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>shift_additive_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>shift_additive_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>shift_op</nonterminal></bgf:expression><bgf:expression><nonterminal>additive_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>shift_op</nonterminal><bgf:expression><choice><bgf:expression><terminal><<</terminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>SPOFF</nonterminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><nonterminal>SPON</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>SPOFF</nonterminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression><bgf:expression><nonterminal>SPON</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>additive_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>multiplicative_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>add_op_multiplicative_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>add_op_multiplicative_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>add_op</nonterminal></bgf:expression><bgf:expression><nonterminal>multiplicative_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>add_op</nonterminal><bgf:expression><choice><bgf:expression><terminal>+</terminal></bgf:expression><bgf:expression><terminal>-</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>multiplicative_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>unary_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>mult_op_unary_expression</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>mult_op_unary_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>mult_op</nonterminal></bgf:expression><bgf:expression><nonterminal>unary_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>mult_op</nonterminal><bgf:expression><choice><bgf:expression><terminal>*</terminal></bgf:expression><bgf:expression><terminal>/</terminal></bgf:expression><bgf:expression><terminal>%</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>unary_expression</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>pre_inc_dec</nonterminal></bgf:expression><bgf:expression><nonterminal>unary_expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>unary_op</nonterminal></bgf:expression><bgf:expression><nonterminal>unary_expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>postfix_expression</nonterminal></bgf:expression><bgf:expression><nonterminal>cast_expression</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>pre_inc_dec</nonterminal><bgf:expression><choice><bgf:expression><terminal>++</terminal></bgf:expression><bgf:expression><terminal>--</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>unary_op</nonterminal><bgf:expression><choice><bgf:expression><terminal>+</terminal></bgf:expression><bgf:expression><terminal>-</terminal></bgf:expression><bgf:expression><terminal>~</terminal></bgf:expression><bgf:expression><terminal>!</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>cast_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><nonterminal>unary_expression</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>postfix_expression</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>primary</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>post_inc_dec</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>post_inc_dec</nonterminal><bgf:expression><choice><bgf:expression><terminal>++</terminal></bgf:expression><bgf:expression><terminal>--</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>subscript</nonterminal><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>primary</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>literal</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>reference</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>class_instance_creation_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>array_creation_expression</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>literal</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>numeric_literal</nonterminal></bgf:expression><bgf:expression><nonterminal>character_literal</nonterminal></bgf:expression><bgf:expression><nonterminal>string_literal</nonterminal></bgf:expression><bgf:expression><nonterminal>boolean_literal</nonterminal></bgf:expression><bgf:expression><nonterminal>null_literal</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>numeric_literal</nonterminal><bgf:expression><nonterminal>number</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>character_literal</nonterminal><bgf:expression><nonterminal>charlit</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>string_literal</nonterminal><bgf:expression><nonterminal>stringlit</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>boolean_literal</nonterminal><bgf:expression><choice><bgf:expression><terminal>true</terminal></bgf:expression><bgf:expression><terminal>false</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>null_literal</nonterminal><bgf:expression><terminal>null</terminal></bgf:expression></bgf:production><bgf:production><nonterminal>class_instance_creation_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>new</terminal></bgf:expression><bgf:expression><nonterminal>class_or_interface_name</nonterminal></bgf:expression><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>argument</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>class_body</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>class_or_interface_name</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>id</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>class_or_interface_component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>class_or_interface_component</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>dot_id</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><nonterminal>generic_argument</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>array_creation_expression</nonterminal><bgf:expression><sequence><bgf:expression><terminal>new</terminal></bgf:expression><bgf:expression><nonterminal>array_type_specifier</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>array_initializer</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>dimension</nonterminal><bgf:expression><sequence><bgf:expression><terminal>[</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>expression</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><terminal>]</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>argument</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>expression</nonterminal></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>qualified_name</nonterminal><bgf:expression><nonterminal>reference</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>reference</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><nonterminal>id</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>primitive_type</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>component</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>component</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>dot_id</nonterminal></bgf:expression><bgf:expression><nonterminal>method_argument</nonterminal></bgf:expression><bgf:expression><nonterminal>subscript</nonterminal></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>generic_argument</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>class_instance_creation_expression</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>dimension</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>class_instance_declaration</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>class_instance_creation_expression</nonterminal></bgf:expression><bgf:expression><terminal>class</terminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>method_argument</nonterminal><bgf:expression><sequence><bgf:expression><terminal>(</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>argument</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>)</terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>dot_id</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>generic_argument</nonterminal></bgf:expression></optional></bgf:expression><bgf:expression><nonterminal>id</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><terminal>class</terminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>.</terminal></bgf:expression><bgf:expression><nonterminal>class_instance_declaration</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>generic_argument</nonterminal><bgf:expression><sequence><bgf:expression><terminal><</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>type_argument</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>type_argument</nonterminal><bgf:expression><choice><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><nonterminal>wildcard_type</nonterminal></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>wildcard_type</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>?</terminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>wildcard_type_bound</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><nonterminal>id</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>wildcard_type_bound</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>wildcard_type_bound</nonterminal><bgf:expression><choice><bgf:expression><sequence><bgf:expression><terminal>extends</terminal></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression></sequence></bgf:expression><bgf:expression><sequence><bgf:expression><terminal>super</terminal></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression></sequence></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>generic_parameter</nonterminal><bgf:expression><sequence><bgf:expression><terminal><</terminal></bgf:expression><bgf:expression><sepliststar><bgf:expression><nonterminal>type_parameter</nonterminal></bgf:expression><bgf:expression><terminal>,</terminal></bgf:expression></sepliststar></bgf:expression><bgf:expression><terminal>></terminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>type_parameter</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>declared_name</nonterminal></bgf:expression><bgf:expression><optional><bgf:expression><nonterminal>type_bound_clause</nonterminal></bgf:expression></optional></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>type_bound_clause</nonterminal><bgf:expression><sequence><bgf:expression><terminal>extends</terminal></bgf:expression><bgf:expression><nonterminal>type_bound</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>type_bound</nonterminal><bgf:expression><sequence><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression><bgf:expression><star><bgf:expression><nonterminal>and_type_spec</nonterminal></bgf:expression></star></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>and_type_spec</nonterminal><bgf:expression><sequence><bgf:expression><terminal>&</terminal></bgf:expression><bgf:expression><nonterminal>type_specifier</nonterminal></bgf:expression></sequence></bgf:expression></bgf:production></bgf:grammar>