Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
7859 lines (7858 sloc) 190 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<root>program</root>
<xns1:production>
<nonterminal>literal</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>boolean_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>integer_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>real_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>character_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>string_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>null_literal</nonterminal>
</xns1:expression>
</choice>
</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>integer_literal</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>decimal_integer_literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>hexadecimal_integer_literal</nonterminal>
</xns1:expression>
</choice>
</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>null_literal</nonterminal>
<xns1:expression>
<terminal>null</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>program</nonterminal>
<xns1:expression>
<nonterminal>compilation_unit</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>compilation_unit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>extern_alias_directives</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>using_directives</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>global_attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>namespace_member_declarations</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namespace_name</nonterminal>
<xns1:expression>
<nonterminal>namespace_or_type_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type_name</nonterminal>
<xns1:expression>
<nonterminal>namespace_or_type_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namespace_or_type_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>colon_colon_id</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>dot_id</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>colon_colon_id</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>::</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</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:production>
<nonterminal>type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>value_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>reference_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_parameter</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type</nonterminal>
<xns1:expression>
<nonterminal>pointer_type</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>value_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>struct_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>enum_type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>struct_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>nullable_type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>simple_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>numeric_type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>bool</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>numeric_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>integral_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>floating_point_type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>decimal</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>integral_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>sbyte</terminal>
</xns1:expression>
<xns1:expression>
<terminal>byte</terminal>
</xns1:expression>
<xns1:expression>
<terminal>short</terminal>
</xns1:expression>
<xns1:expression>
<terminal>ushort</terminal>
</xns1:expression>
<xns1:expression>
<terminal>int</terminal>
</xns1:expression>
<xns1:expression>
<terminal>uint</terminal>
</xns1:expression>
<xns1:expression>
<terminal>long</terminal>
</xns1:expression>
<xns1:expression>
<terminal>ulong</terminal>
</xns1:expression>
<xns1:expression>
<terminal>char</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>floating_point_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>float</terminal>
</xns1:expression>
<xns1:expression>
<terminal>double</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>enum_type</nonterminal>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>nullable_type</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>non_nullable_value_type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>?</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>non_nullable_value_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>enum_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>reference_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>class_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interface_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>delegate_type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>object</terminal>
</xns1:expression>
<xns1:expression>
<terminal>string</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interface_type</nonterminal>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>array_type</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>non_array_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>rank_specifiers</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>non_array_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>value_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interface_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>delegate_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_parameter</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>rank_specifiers</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>rank_specifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>rank_specifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>delegate_type</nonterminal>
<xns1:expression>
<nonterminal>type_name</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variable_reference</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>argument_list</nonterminal>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>argument</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>argument</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>ref</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variable_reference</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>out</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variable_reference</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primary_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>array_creation_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>primary_no_array_creation_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>object_initializer_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primary_no_array_creation_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>simple_primary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>primary_expression_modifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primary_no_array_creation_expression</nonterminal>
<xns1:expression>
<nonterminal>sizeof_expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>simple_primary_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>literal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>parenthesized_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>this_access</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>base_access</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>object_or_delegate_creation_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>typeof_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>checked_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unchecked_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>default_value_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>anonymous_method_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>predefined_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>member_access_operator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>qualified_alias_member</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>member_access_operator</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primary_expression_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>member_access_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>invocation_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>element_access_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>post_increment_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>post_decrement_operator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>primary_expression_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pointer_member_access_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pointer_element_access_operator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>simple_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>parenthesized_expression</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>member_access_operator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>predefined_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>bool</terminal>
</xns1:expression>
<xns1:expression>
<terminal>byte</terminal>
</xns1:expression>
<xns1:expression>
<terminal>char</terminal>
</xns1:expression>
<xns1:expression>
<terminal>decimal</terminal>
</xns1:expression>
<xns1:expression>
<terminal>double</terminal>
</xns1:expression>
<xns1:expression>
<terminal>float</terminal>
</xns1:expression>
<xns1:expression>
<terminal>int</terminal>
</xns1:expression>
<xns1:expression>
<terminal>long</terminal>
</xns1:expression>
<xns1:expression>
<terminal>object</terminal>
</xns1:expression>
<xns1:expression>
<terminal>sbyte</terminal>
</xns1:expression>
<xns1:expression>
<terminal>short</terminal>
</xns1:expression>
<xns1:expression>
<terminal>string</terminal>
</xns1:expression>
<xns1:expression>
<terminal>uint</terminal>
</xns1:expression>
<xns1:expression>
<terminal>ulong</terminal>
</xns1:expression>
<xns1:expression>
<terminal>ushort</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>invocation_operator</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>invocation_operator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>((</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>argument_list_or_key</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>))</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>element_access_operator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>this_access</nonterminal>
<xns1:expression>
<terminal>this</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>base_access</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>base</terminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>base</terminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>post_increment_operator</nonterminal>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>post_decrement_operator</nonterminal>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>object_or_delegate_creation_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>array_creation_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>non_array_type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>rank_specifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>array_initializer</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_initializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>object_initializer_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>array_type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>object_formals</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>rank_specifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>object_initializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>object_formals</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>formal_parameter_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>object_initializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>member_initializer_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>member_initializer_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>member_initializer</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>member_initializer</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>member_name_equals</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>member_name_equals</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>array_initializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>member_name_equals</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>simple_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expression_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>typeof_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>typeof</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>typeof</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unbound_type_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>typeof</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>typeof</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unbound_type_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>colon_colon_id</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>generic_dimension_specifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>dot_id_generic_dimension_specifier</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>dot_id_generic_dimension_specifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>generic_dimension_specifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>generic_dimension_specifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>checked_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>checked</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unchecked_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>unchecked</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>default_value_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>default</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>anonymous_method_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>delegate</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>anonymous_method_signature</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>anonymous_method_signature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>anonymous_method_parameter_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>anonymous_method_parameter_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>anonymous_method_parameter</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>anonymous_method_parameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>parameter_modifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unary_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>primary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>~</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>pre_increment_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pre_decrement_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>cast_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unary_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pointer_indirection_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>addressof_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pre_increment_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pre_decrement_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>cast_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</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>multiplicative_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>%</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>additive_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>multiplicative_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>shift_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>additive_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>relational_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>shift_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>is</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>as</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equality_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>equality_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>==</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>equality_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>!=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>relational_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>and_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>equality_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>and_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>equality_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>exclusive_or_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>and_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>exclusive_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>and_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>inclusive_or_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>exclusive_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>inclusive_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>exclusive_or_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_and_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>inclusive_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>conditional_and_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>inclusive_or_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_or_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>conditional_and_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>conditional_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>||</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>conditional_and_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>null_coalescing_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>conditional_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>conditional_or_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>??</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>null_coalescing_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>conditional_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>null_coalescing_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>null_coalescing_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>?</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>assignment</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>unary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignment_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</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>&#38;=</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>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>conditional_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignment</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>query_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>lambda_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constant_expression</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>boolean_expression</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>query_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>from_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>query_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>query_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>query_body_clause</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>final_query_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>query_continuation</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>query_body_clause</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>from_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>join_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>let_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>where_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>orderby_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>from_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>from</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>item_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>src_expr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>join_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>join</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>item_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>src_expr</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>on</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>key_expr</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>equals</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>key_expr</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>into_item_name</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>into_item_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>into</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>item_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>let_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>let</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>item_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>sel_expr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>where_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>where</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pred_expr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>orderby_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>orderby</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>key_expr_ascending_descending</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>key_expr_ascending_descending</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>key_expr</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ascending_descending</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ascending_descending</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>ascending</terminal>
</xns1:expression>
<xns1:expression>
<terminal>descending</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>final_query_clause</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>select_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>groupby_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>select_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>select</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>sel_expr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>groupby_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>group</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>sel_expr</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>by</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>key_expr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>query_continuation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>into</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>item_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>query_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>item_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>sel_expr</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>key_expr</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>src_expr</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pred_expr</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>lambda_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>input_parameters</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>input_parameters</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>input_parameters</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>input_parameter</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<sepliststar>
<xns1:expression>
<nonterminal>input_parameter</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sepliststar>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>input_parameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>labeled_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>declaration_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>embedded_statement</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>embedded_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>empty_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>selection_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>iteration_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>jump_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>try_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>checked_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>unchecked_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>lock_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>using_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>yield_statement</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>embedded_statement</nonterminal>
<xns1:expression>
<nonterminal>unsafe_statement</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>embedded_statement</nonterminal>
<xns1:expression>
<nonterminal>fixed_statement</nonterminal>
</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>
<optional>
<xns1:expression>
<nonterminal>statement_list</nonterminal>
</xns1:expression>
</optional>
</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>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>empty_statement</nonterminal>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>labeled_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declaration_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>local_variable_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>local_constant_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_variable_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>local_variable_declarators</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_variable_declarators</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>local_variable_declarator</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_variable_declarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>equals_local_variable_initializer</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>equals_local_variable_initializer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>local_variable_initializer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_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>local_variable_initializer</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_initializer</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>stackalloc_initializer</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_constant_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>const</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constant_declarators</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>expression_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>statement_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>statement_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>primary_no_array_creation_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>object_creation_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>assignment</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pre_increment_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pre_decrement_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>object_creation_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>selection_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>if_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>switch_statement</nonterminal>
</xns1:expression>
</choice>
</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>boolean_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>nested_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>else_if_clause</nonterminal>
</xns1:expression>
</star>
</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_if_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>boolean_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>nested_statement</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>nested_statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>nested_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>embedded_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</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>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_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>
<nonterminal>switch_sections</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_sections</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>switch_section</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_section</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>switch_labels</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement_list</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>switch_labels</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>switch_label</nonterminal>
</xns1:expression>
</plus>
</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>iteration_statement</nonterminal>
<xns1:expression>
<choice>
<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>foreach_statement</nonterminal>
</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>boolean_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>nested_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>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>embedded_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>while</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>boolean_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>
<optional>
<xns1:expression>
<nonterminal>for_initializer</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>for_condition</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>for_iterator</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>nested_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>for_initializer</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>local_variable_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement_expression_list</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>for_condition</nonterminal>
<xns1:expression>
<nonterminal>boolean_expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>for_iterator</nonterminal>
<xns1:expression>
<nonterminal>statement_expression_list</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement_expression_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>statement_expression</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>foreach_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>foreach</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>nested_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>jump_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>break_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>continue_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>goto_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>return_statement</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>throw_statement</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>break_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>break</terminal>
</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>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>goto_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>goto</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>goto</terminal>
</xns1:expression>
<xns1:expression>
<terminal>case</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constant_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>goto</terminal>
</xns1:expression>
<xns1:expression>
<terminal>default</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</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>
<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>try_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>try</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>catch_clauses</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>finally_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>catch_clauses</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>specific_catch_clauses</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>general_catch_clause</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>specific_catch_clauses</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>specific_catch_clause</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>specific_catch_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>catch</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_type</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>general_catch_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>catch</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</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>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>checked_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>checked</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>unchecked_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>unchecked</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>lock_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>lock</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>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>embedded_statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>using_statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>using</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>resource_acquisition</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>embedded_statement</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>resource_acquisition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>local_variable_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>yield_statement</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>yield</terminal>
</xns1:expression>
<xns1:expression>
<terminal>return</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:expression>
<sequence>
<xns1:expression>
<terminal>yield</terminal>
</xns1:expression>
<xns1:expression>
<terminal>break</terminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namespace_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>namespace</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>qualified_identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>namespace_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>qualified_identifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>dot_id</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namespace_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>
<optional>
<xns1:expression>
<nonterminal>extern_alias_directives</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>using_directives</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>namespace_member_declarations</nonterminal>
</xns1:expression>
</optional>
</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>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>extern_alias_directives</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>extern_alias_directive</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>extern_alias_directive</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extern</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>using_directives</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>using_directive</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>using_directive</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>using_alias_directive</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>using_namespace_directive</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>using_alias_directive</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>using</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>namespace_or_type_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>using_namespace_directive</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>using</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>namespace_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>namespace_member_declarations</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>namespace_member_declaration</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>namespace_member_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>namespace_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>type_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>class_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>struct_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interface_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>enum_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>delegate_declaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>qualified_alias_member</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>::</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_argument_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>class_modifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>partial</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_parameter_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>class_base</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_parameter_constraints_clauses</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_modifiers</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>class_modifier</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
<xns1:expression>
<terminal>internal</terminal>
</xns1:expression>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<terminal>sealed</terminal>
</xns1:expression>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_modifier</nonterminal>
<xns1:expression>
<terminal>unsafe</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_base</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>class_and_interface_type_ist</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_and_interface_type_ist</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>class_or_interface_type</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_or_interface_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>class_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>interface_type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_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>
<optional>
<xns1:expression>
<nonterminal>class_member_declarations</nonterminal>
</xns1:expression>
</optional>
</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>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_member_declarations</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>class_member_declaration</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>class_member_declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>constant_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>field_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>method_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>property_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>event_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>indexer_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>operator_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constructor_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>finalizer_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>static_constructor_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_declaration</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constant_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>constant_modifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>const</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constant_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>constant_modifiers</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>constant_modifier</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constant_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
<xns1:expression>
<terminal>internal</terminal>
</xns1:expression>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constant_declarators</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>constant_declarator</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constant_declarator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constant_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>field_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>field_modifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>type</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>field_modifiers</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>field_modifier</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>field_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
<xns1:expression>
<terminal>internal</terminal>
</xns1:expression>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<terminal>readonly</terminal>
</xns1:expression>
<xns1:expression>
<terminal>volatile</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>field_modifier</nonterminal>
<xns1:expression>
<terminal>unsafe</terminal>
</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>id</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>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>method_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>method_header</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>method_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_header</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>method_modifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>return_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>member_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_parameter_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>formal_parameter_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>type_parameter_constraints_clauses</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_modifiers</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>method_modifier</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>new</terminal>
</xns1:expression>
<xns1:expression>
<terminal>public</terminal>
</xns1:expression>
<xns1:expression>
<terminal>protected</terminal>
</xns1:expression>
<xns1:expression>
<terminal>internal</terminal>
</xns1:expression>
<xns1:expression>
<terminal>private</terminal>
</xns1:expression>
<xns1:expression>
<terminal>static</terminal>
</xns1:expression>
<xns1:expression>
<terminal>virtual</terminal>
</xns1:expression>
<xns1:expression>
<terminal>sealed</terminal>
</xns1:expression>
<xns1:expression>
<terminal>override</terminal>
</xns1:expression>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
<xns1:expression>
<terminal>extern</terminal>
</xns1:expression>
<xns1:expression>
<terminal>partial</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>method_modifier</nonterminal>
<xns1:expression>
<terminal>unsafe</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>return_type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>void</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>member_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>interface_type_dot</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>interface_type_dot</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>interface_type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</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>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>formal_parameter_list</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>fixed_parameters</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>comma_parameter_array</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>comma_parameter_array</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>parameter_array</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>fixed_parameters</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>fixed_parameter</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>fixed_parameter</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>parameter_modifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>parameter_array</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>parameter_modifier</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>ref</terminal>
</xns1:expression>
<xns1:expression>
<terminal>out</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>parameter_array</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>params</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>property_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>attributes</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>property_modifiers</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>member_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>accessor_declarations</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>EX</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NL</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>property_modifiers</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>property_modifier</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>property_modifier</nonterminal>